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.
- package/dist/constants/media-renderer.d.ts +3 -0
- package/dist/constants/media-renderer.d.ts.map +1 -1
- package/dist/detections/chunked-detection-frame-source.d.ts.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9281 -5038
- package/dist/index.js.map +1 -1
- package/dist/mask-preparation.worker.js +409 -185
- package/dist/mask-preparation.worker.js.map +1 -1
- package/dist/media/display-pixel-ratio.d.ts +15 -0
- package/dist/media/display-pixel-ratio.d.ts.map +1 -0
- package/dist/media/engine-import-failure.d.ts +16 -0
- package/dist/media/engine-import-failure.d.ts.map +1 -0
- package/dist/media/media-errors.d.ts +6 -0
- package/dist/media/media-errors.d.ts.map +1 -1
- package/dist/media/media-normalization.d.ts.map +1 -1
- package/dist/media/media-probe.d.ts.map +1 -1
- package/dist/media/media-source-state.d.ts.map +1 -1
- package/dist/media/media-source.d.ts +17 -0
- package/dist/media/media-source.d.ts.map +1 -1
- package/dist/media/mediabunny-media-source.d.ts.map +1 -1
- package/dist/media/video-engine-media-source.d.ts +54 -0
- package/dist/media/video-engine-media-source.d.ts.map +1 -0
- package/dist/media/video-engine-media-source.js +3 -0
- package/dist/media/video-engine-media-source.js.map +1 -0
- package/dist/playback/media-playback-controller.d.ts +7 -1
- package/dist/playback/media-playback-controller.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-artifact.d.ts +48 -12
- package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-compositor.d.ts +12 -5
- package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-preparer.d.ts.map +1 -1
- package/dist/render-preparation/mask-preparation-worker-count.d.ts +4 -4
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +13 -3
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
- package/dist/render-preparation/prepared-render-window.d.ts +44 -2
- package/dist/render-preparation/prepared-render-window.d.ts.map +1 -1
- package/dist/render-preparation/prepared-window-timeline.d.ts +2 -6
- package/dist/render-preparation/prepared-window-timeline.d.ts.map +1 -1
- package/dist/renderers/injected-pixi.d.ts +38 -0
- package/dist/renderers/injected-pixi.d.ts.map +1 -0
- package/dist/renderers/mask-palette.d.ts +14 -0
- package/dist/renderers/mask-palette.d.ts.map +1 -0
- package/dist/renderers/mask-vertex.d.ts +14 -0
- package/dist/renderers/mask-vertex.d.ts.map +1 -0
- package/dist/renderers/media-renderer-core.d.ts +9 -0
- package/dist/renderers/media-renderer-core.d.ts.map +1 -1
- package/dist/renderers/media-renderer-scene.d.ts +50 -2
- package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
- package/dist/renderers/media-renderer-state.d.ts +20 -1
- package/dist/renderers/media-renderer-state.d.ts.map +1 -1
- package/dist/renderers/media-renderer-transport.d.ts +72 -0
- package/dist/renderers/media-renderer-transport.d.ts.map +1 -0
- package/dist/renderers/pixi-box-layer.d.ts +5 -0
- package/dist/renderers/pixi-box-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-focus-layer.d.ts +19 -2
- package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-frame-present.d.ts +77 -0
- package/dist/renderers/pixi-frame-present.d.ts.map +1 -0
- package/dist/renderers/pixi-id-mask-shader.d.ts +6 -25
- package/dist/renderers/pixi-id-mask-shader.d.ts.map +1 -1
- package/dist/renderers/pixi-interaction-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts +12 -2
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-mask-halo.d.ts +18 -23
- package/dist/renderers/pixi-mask-halo.d.ts.map +1 -1
- package/dist/renderers/pixi-mask-layer.d.ts +94 -32
- package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-media-scene.d.ts +67 -0
- package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
- package/dist/renderers/pixi-polygon-layer.d.ts +9 -2
- package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-region-coverage-mask.d.ts +62 -0
- package/dist/renderers/pixi-region-coverage-mask.d.ts.map +1 -0
- package/dist/renderers/pixi-region-effect.d.ts +42 -0
- package/dist/renderers/pixi-region-effect.d.ts.map +1 -0
- package/dist/renderers/pixi-region-layer.d.ts +43 -2
- package/dist/renderers/pixi-region-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-shader-lifecycle.d.ts +14 -0
- package/dist/renderers/pixi-shader-lifecycle.d.ts.map +1 -0
- package/dist/renderers/pixi-vector-layer.d.ts.map +1 -1
- package/dist/renderers/prepared-annotation-window.d.ts +47 -0
- package/dist/renderers/prepared-annotation-window.d.ts.map +1 -0
- package/dist/renderers/presented-frame-channel.d.ts +138 -0
- package/dist/renderers/presented-frame-channel.d.ts.map +1 -0
- package/dist/renderers/scene-render-scheduler.d.ts +20 -0
- package/dist/renderers/scene-render-scheduler.d.ts.map +1 -0
- package/dist/sessions/media-session-defaults.d.ts +10 -6
- package/dist/sessions/media-session-defaults.d.ts.map +1 -1
- package/dist/sessions/media-session-media.d.ts.map +1 -1
- package/dist/sessions/media-session-state.d.ts.map +1 -1
- package/dist/sessions/media-session.d.ts.map +1 -1
- package/dist/tracking.worker.js +73 -4
- package/dist/tracking.worker.js.map +1 -1
- package/dist/types/media-normalization.d.ts +34 -0
- package/dist/types/media-normalization.d.ts.map +1 -1
- package/dist/types/media-renderer.d.ts +31 -1
- package/dist/types/media-renderer.d.ts.map +1 -1
- package/dist/types/media-session.d.ts +89 -15
- package/dist/types/media-session.d.ts.map +1 -1
- package/dist/types/render-preparation.d.ts +149 -5
- package/dist/types/render-preparation.d.ts.map +1 -1
- package/dist/video-engine-media-source-CUXnOJOV.js +450 -0
- package/dist/video-engine-media-source-CUXnOJOV.js.map +1 -0
- package/dist/web-video-engine/analysis-session.d.ts +75 -0
- package/dist/web-video-engine/analysis.d.ts +6 -0
- package/dist/web-video-engine/analysis.js +1850 -0
- package/dist/web-video-engine/cache-budget.d.ts +18 -0
- package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts +89 -0
- package/dist/web-video-engine/clock.d.ts +82 -0
- package/dist/web-video-engine/constants.d.ts +261 -0
- package/dist/web-video-engine/create-scrub-cursor.d.ts +65 -0
- package/dist/web-video-engine/decode-resolution.d.ts +114 -0
- package/dist/web-video-engine/decode-scheduler.d.ts +371 -0
- package/dist/web-video-engine/decode-session.d.ts +283 -0
- package/dist/web-video-engine/decode-source.d.ts +258 -0
- package/dist/web-video-engine/diagnostics-store.d.ts +17 -0
- package/dist/web-video-engine/diagnostics.d.ts +316 -0
- package/dist/web-video-engine/embedded-engine-worker.d.ts +1 -0
- package/dist/web-video-engine/engine-core.d.ts +269 -0
- package/dist/web-video-engine/engine.d.ts +25 -0
- package/dist/web-video-engine/engine.js +912 -0
- package/dist/web-video-engine/engine.worker.d.ts +1 -0
- package/dist/web-video-engine/engine.worker.js +33624 -0
- package/dist/web-video-engine/frame-cache.d.ts +236 -0
- package/dist/web-video-engine/frame-extractor.d.ts +27 -0
- package/dist/web-video-engine/frame-timeline-DreEwsRY.js +616 -0
- package/dist/web-video-engine/frame-timeline.d.ts +80 -0
- package/dist/web-video-engine/frame-walker.d.ts +73 -0
- package/dist/web-video-engine/index.d.ts +13 -0
- package/dist/web-video-engine/index.d.ts.map +1 -0
- package/dist/web-video-engine/index.js +3 -0
- package/dist/web-video-engine/index.js.map +1 -0
- package/dist/web-video-engine/key-packet.d.ts +64 -0
- package/dist/web-video-engine/keyframe-index.d.ts +90 -0
- package/dist/web-video-engine/mirror-store.d.ts +55 -0
- package/dist/web-video-engine/renderer.d.ts +93 -0
- package/dist/web-video-engine/rotation.d.ts +34 -0
- package/dist/web-video-engine/scrub-controller.d.ts +375 -0
- package/dist/web-video-engine/scrub-cursor.d.ts +347 -0
- package/dist/web-video-engine/scrub-trajectory.d.ts +29 -0
- package/dist/web-video-engine/source-residency.d.ts +91 -0
- package/dist/web-video-engine/trace-recorder.d.ts +163 -0
- package/dist/web-video-engine/types.d.ts +200 -0
- package/dist/web-video-engine/video-engine.d.ts +437 -0
- package/dist/web-video-engine/webgpu-renderer.d.ts +61 -0
- package/dist/web-video-engine/worker-bridge.d.ts +11 -0
- package/dist/web-video-engine/worker-dispatch.d.ts +16 -0
- package/dist/web-video-engine/worker-protocol.d.ts +282 -0
- package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/detections/composite-detection-frame-source.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.d.ts +5 -4
- package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.js +1167 -280
- package/node_modules/supervision-js-core/dist/index.js.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts +4 -36
- package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts +5 -0
- package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts +92 -7
- package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts +191 -17
- package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +83 -5
- package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/polyline-style.d.ts +2 -0
- package/node_modules/supervision-js-core/dist/types/polyline-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts +32 -0
- package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-conversions.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts +5 -0
- package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts +9 -0
- package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-ranges.d.ts +18 -0
- package/node_modules/supervision-js-core/dist/utils/detection-ranges.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts +34 -2
- package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/wait-bound.d.ts +7 -0
- package/node_modules/supervision-js-core/dist/utils/wait-bound.d.ts.map +1 -0
- package/package.json +24 -3
|
@@ -46,7 +46,7 @@ export declare enum MediaRendererPlaybackState {
|
|
|
46
46
|
* kinds may be added over time, so treat unrecognized values like `Unknown`.
|
|
47
47
|
*/
|
|
48
48
|
export declare enum MediaErrorKind {
|
|
49
|
-
/** The media could not be opened or read
|
|
49
|
+
/** The media could not be opened or read, or was refused before any read. */
|
|
50
50
|
Unreadable = "unreadable",
|
|
51
51
|
/** The container or codec is not supported by this platform. */
|
|
52
52
|
UnsupportedFormat = "unsupportedFormat",
|
|
@@ -132,6 +132,12 @@ export interface MediaRendererAssetError {
|
|
|
132
132
|
*/
|
|
133
133
|
export interface MediaSourceState {
|
|
134
134
|
readonly status: MediaSourceStatus;
|
|
135
|
+
/**
|
|
136
|
+
* True while the renderer is waiting on a read it cannot draw without.
|
|
137
|
+
* Prefetch that runs behind a moving picture is not a wait and leaves this
|
|
138
|
+
* false, so this is set only where the picture has stopped for the source.
|
|
139
|
+
*/
|
|
140
|
+
readonly awaitingRead?: boolean;
|
|
135
141
|
readonly canRead: boolean | null;
|
|
136
142
|
readonly formatName: string | null;
|
|
137
143
|
readonly formatMimeType: string | null;
|
|
@@ -153,18 +159,41 @@ export interface MediaSourceState {
|
|
|
153
159
|
* Stable failure classification when `status` is `Error`, otherwise `null`.
|
|
154
160
|
*
|
|
155
161
|
* Prefer this over `errorMessage` for control flow. Messages are diagnostic
|
|
156
|
-
* text and may name vendor internals.
|
|
157
|
-
* against the previous shape stay assignable.
|
|
162
|
+
* text and may name vendor internals.
|
|
158
163
|
*/
|
|
159
164
|
readonly errorKind?: MediaErrorKind | null;
|
|
160
165
|
}
|
|
161
166
|
/**
|
|
162
167
|
* Current renderer state.
|
|
163
168
|
*/
|
|
169
|
+
/**
|
|
170
|
+
* What a playback gate holds back.
|
|
171
|
+
*
|
|
172
|
+
* A source the renderer pulls samples from can be held between any two frames,
|
|
173
|
+
* because the renderer decides when each one is drawn. A source that presents
|
|
174
|
+
* its own frames owns the playhead, so holding it means stopping the producer
|
|
175
|
+
* and starting it again, and a gate that stops one has to bound its own wait
|
|
176
|
+
* or a producer nothing answers for never runs again.
|
|
177
|
+
*/
|
|
178
|
+
export declare enum PlaybackGateReach {
|
|
179
|
+
/** No gate: the picture moves and unprepared layers are absent from it. */
|
|
180
|
+
Off = "off",
|
|
181
|
+
/**
|
|
182
|
+
* Playback waits to begin, and stops again at any frame whose artifacts are
|
|
183
|
+
* missing, until they arrive or the gate's own wait bound gives up on them.
|
|
184
|
+
*/
|
|
185
|
+
EveryFrame = "everyFrame"
|
|
186
|
+
}
|
|
164
187
|
export interface MediaRendererState {
|
|
165
188
|
readonly rendererBackend: string | null;
|
|
166
189
|
readonly playbackState: MediaRendererPlaybackState;
|
|
167
190
|
readonly fit: MediaRendererFit;
|
|
191
|
+
/**
|
|
192
|
+
* Media time of the pixels currently composited, or `null` before the first
|
|
193
|
+
* frame reaches the scene. Unlike `currentTime`, this does not move when a
|
|
194
|
+
* producer advances its playhead ahead of the picture under load.
|
|
195
|
+
*/
|
|
196
|
+
readonly presentedTime?: number | null;
|
|
168
197
|
readonly currentTime: number;
|
|
169
198
|
readonly playbackRate: number;
|
|
170
199
|
readonly duration: number | null;
|
|
@@ -174,6 +203,53 @@ export interface MediaRendererState {
|
|
|
174
203
|
readonly activeDetectionFrameTime: number | null;
|
|
175
204
|
readonly activeDetectionFrameIndex: number | null;
|
|
176
205
|
readonly activeDetectionCount: number;
|
|
206
|
+
/**
|
|
207
|
+
* Detection frame the mask raster on screen belongs to, null when no mask is
|
|
208
|
+
* up. A renderer should either name `activeDetectionFrameTime` or draw no
|
|
209
|
+
* raster; another value exposes a presentation invariant breach.
|
|
210
|
+
*/
|
|
211
|
+
readonly drawnMaskFrameTime?: number | null;
|
|
212
|
+
/**
|
|
213
|
+
* How far the active playback gates reach on the source this renderer opened.
|
|
214
|
+
*/
|
|
215
|
+
readonly playbackGateReach?: PlaybackGateReach;
|
|
216
|
+
/**
|
|
217
|
+
* The render-preparation gate stopped playback for artifacts that never
|
|
218
|
+
* arrived and gave up on them, so the picture is moving without them. False
|
|
219
|
+
* again once preparation covers the playhead.
|
|
220
|
+
*/
|
|
221
|
+
readonly renderPreparationGateAbandoned?: boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Whether the raster on screen belongs to a frame other than the one the rest
|
|
224
|
+
* of the annotations were drawn from. Renderers report the mismatch instead
|
|
225
|
+
* of hiding it so diagnostics can fail loudly.
|
|
226
|
+
*/
|
|
227
|
+
readonly maskHeldStale?: boolean;
|
|
228
|
+
/**
|
|
229
|
+
* Whether the playhead has been moved to a frame that is not on screen yet.
|
|
230
|
+
* `playbackState` cannot answer this: it keeps reporting what the transport
|
|
231
|
+
* settled on before the seek, so a seek of any length reads as paused or
|
|
232
|
+
* playing.
|
|
233
|
+
*
|
|
234
|
+
* A scrub sets this on every tick, so a host that draws it owes the viewer a
|
|
235
|
+
* delay before it appears, and owes them `scrubbing` too: a viewer dragging
|
|
236
|
+
* the playhead is not waiting for the picture, they are leading it.
|
|
237
|
+
*
|
|
238
|
+
* It answers for the transport, which settles one message before the frame it
|
|
239
|
+
* landed on reaches this thread. In that window the picture on screen is the
|
|
240
|
+
* cached stand-in the seek painted on its way out, which can be a quarter of a
|
|
241
|
+
* second from the frame requested, while this already reads false. A host that
|
|
242
|
+
* needs "is the right picture up" should compare the presented frame's own
|
|
243
|
+
* media time; reading a position the instant a seek resolves can return a
|
|
244
|
+
* frame that was never asked for.
|
|
245
|
+
*/
|
|
246
|
+
readonly seeking?: boolean;
|
|
247
|
+
/**
|
|
248
|
+
* Whether a drag is open on the playhead. True from the first scrub of a
|
|
249
|
+
* gesture until the seek that lands it, which is what separates a viewer
|
|
250
|
+
* leading the picture from one waiting on it.
|
|
251
|
+
*/
|
|
252
|
+
readonly scrubbing?: boolean;
|
|
177
253
|
readonly detectionBuffer: DetectionBufferState;
|
|
178
254
|
readonly lastFrameRenderTimings: MediaFrameRenderTimings | null;
|
|
179
255
|
readonly source: MediaSourceState;
|
|
@@ -234,8 +310,10 @@ export interface MediaRendererQuality {
|
|
|
234
310
|
/**
|
|
235
311
|
* Caps render resolution relative to device pixels.
|
|
236
312
|
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
313
|
+
* Unset, non-finite, or non-positive takes the library's own ceiling of 2,
|
|
314
|
+
* which is what keeps the presentation surface, the mask rasters drawn onto
|
|
315
|
+
* it, and the decode under both on one pixel grid. Pass
|
|
316
|
+
* `window.devicePixelRatio` to rasterize at the display's full ratio.
|
|
239
317
|
*/
|
|
240
318
|
readonly maxDevicePixelRatio?: number;
|
|
241
319
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-rendering.d.ts","sourceRoot":"","sources":["../../src/types/media-rendering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,oBAAY,gBAAgB;IAC1B;;OAEG;IACH,OAAO,YAAY;IACnB;;OAEG;IACH,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,0BAA0B;IACpC,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,cAAc;CACxB;AAED;;;;;;GAMG;AACH,oBAAY,cAAc;IACxB,
|
|
1
|
+
{"version":3,"file":"media-rendering.d.ts","sourceRoot":"","sources":["../../src/types/media-rendering.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export type PolylineStyleContext = AnnotationStyleContext;
|
|
|
5
5
|
export interface PolylineDrawInstruction {
|
|
6
6
|
readonly points: readonly Point[];
|
|
7
7
|
readonly stroke: BoxStrokeStyle;
|
|
8
|
+
/** Drawn under `stroke` so the path reads over any media beneath it. */
|
|
9
|
+
readonly shadowStroke?: BoxStrokeStyle;
|
|
8
10
|
}
|
|
9
11
|
export interface PolylineStyle {
|
|
10
12
|
resolve(detection: Detection, context: PolylineStyleContext): PolylineDrawInstruction | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polyline-style.d.ts","sourceRoot":"","sources":["../../src/types/polyline-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"polyline-style.d.ts","sourceRoot":"","sources":["../../src/types/polyline-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,oBAAoB,GAC5B,uBAAuB,GAAG,SAAS,CAAC;CACxC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { MediaErrorKind } from "#types/media-rendering";
|
|
1
2
|
/**
|
|
2
3
|
* Media-session operating mode.
|
|
3
4
|
*
|
|
@@ -34,12 +35,35 @@ export declare enum MediaSessionStatus {
|
|
|
34
35
|
* Subsystem currently affecting session readiness or presentation.
|
|
35
36
|
*/
|
|
36
37
|
export declare enum MediaSessionActivityKind {
|
|
38
|
+
/**
|
|
39
|
+
* Playback is held waiting for a producer to emit detections for the frame
|
|
40
|
+
* about to be shown, which is a wait on inference rather than on transfer or
|
|
41
|
+
* decode. `DetectionsBuffering` is the transfer of detections that already
|
|
42
|
+
* exist, and `PlaybackBuffering` is the wait for media bytes.
|
|
43
|
+
*/
|
|
44
|
+
DetectionsAwaitingCoverage = "detectionsAwaitingCoverage",
|
|
37
45
|
DetectionsBuffering = "detectionsBuffering",
|
|
38
46
|
DetectionsLoading = "detectionsLoading",
|
|
39
47
|
Error = "error",
|
|
40
48
|
MediaNormalizing = "mediaNormalizing",
|
|
41
49
|
MediaOpening = "mediaOpening",
|
|
50
|
+
/**
|
|
51
|
+
* The picture is waiting on media the source has not handed over yet, which
|
|
52
|
+
* is the bytes and their decode rather than anything downstream of them.
|
|
53
|
+
* `PlaybackBuffering` is what a transport reports once it has already
|
|
54
|
+
* stopped; this is reported from the read itself, including the reads a seek
|
|
55
|
+
* makes while the transport still reads as paused.
|
|
56
|
+
*/
|
|
57
|
+
MediaSourceReading = "mediaSourceReading",
|
|
42
58
|
PlaybackBuffering = "playbackBuffering",
|
|
59
|
+
/**
|
|
60
|
+
* The render-preparation gate held the picture for artifacts that never
|
|
61
|
+
* arrived and let it go. Nothing is blocked: the frames reaching the screen
|
|
62
|
+
* are the ones whose artifacts were given up on. What is waited on is
|
|
63
|
+
* preparation finishing another frame, which is what lets the gate hold the
|
|
64
|
+
* picture again; `RenderPreparing` covers the holds that are running.
|
|
65
|
+
*/
|
|
66
|
+
RenderPreparationAbandoned = "renderPreparationAbandoned",
|
|
43
67
|
RenderPreparing = "renderPreparing"
|
|
44
68
|
}
|
|
45
69
|
/**
|
|
@@ -69,6 +93,14 @@ export interface MediaSessionActivity {
|
|
|
69
93
|
*/
|
|
70
94
|
readonly blockingPresentation: boolean;
|
|
71
95
|
readonly detail?: string | null;
|
|
96
|
+
/**
|
|
97
|
+
* Stable failure classification when this activity reports an error.
|
|
98
|
+
*
|
|
99
|
+
* Prefer this over `errorMessage` for control flow: messages are diagnostic
|
|
100
|
+
* text and may name vendor internals. Absent when the reporting subsystem
|
|
101
|
+
* does not classify its failures.
|
|
102
|
+
*/
|
|
103
|
+
readonly errorKind?: MediaErrorKind | null;
|
|
72
104
|
readonly errorMessage?: string | null;
|
|
73
105
|
readonly kind: MediaSessionActivityKind;
|
|
74
106
|
readonly label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-lifecycle.d.ts","sourceRoot":"","sources":["../../src/types/session-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oBAAY,gBAAgB;IAC1B;;;OAGG;IACH,IAAI,SAAS;IACb;;;OAGG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,wBAAwB;IAClC,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,KAAK,UAAU;IACf,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;CACpC;AAED;;GAEG;AACH,oBAAY,0BAA0B;IACpC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B,CACzC,MAAM,EACN,SAAS,EACT,cAAc,GAAG,OAAO,EACxB,kBAAkB,GAAG,OAAO;IAE5B,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9C;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,MAAM,yBAAyB,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AACxE,MAAM,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"session-lifecycle.d.ts","sourceRoot":"","sources":["../../src/types/session-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;GAMG;AACH,oBAAY,gBAAgB;IAC1B;;;OAGG;IACH,IAAI,SAAS;IACb;;;OAGG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,wBAAwB;IAClC;;;;;OAKG;IACH,0BAA0B,+BAA+B;IACzD,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,KAAK,UAAU;IACf,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B;;;;;;OAMG;IACH,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC;;;;;;OAMG;IACH,0BAA0B,+BAA+B;IACzD,eAAe,oBAAoB;CACpC;AAED;;GAEG;AACH,oBAAY,0BAA0B;IACpC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B,CACzC,MAAM,EACN,SAAS,EACT,cAAc,GAAG,OAAO,EACxB,kBAAkB,GAAG,OAAO;IAE5B,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9C;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,MAAM,yBAAyB,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AACxE,MAAM,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection-conversions.d.ts","sourceRoot":"","sources":["../../src/utils/detection-conversions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAET,KAAK,EACL,eAAe,EACf,IAAI,EACL,MAAM,mBAAmB,CAAC;AAS3B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAYzD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAExE;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,eAAe,GAC1B,UAAU,
|
|
1
|
+
{"version":3,"file":"detection-conversions.d.ts","sourceRoot":"","sources":["../../src/utils/detection-conversions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAET,KAAK,EACL,eAAe,EACf,IAAI,EACL,MAAM,mBAAmB,CAAC;AAS3B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAYzD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAExE;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,eAAe,GAC1B,UAAU,CAkBZ;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,UAAU,EAAE,eAAe,GAC1B,UAAU,CA+CZ;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAI5E;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAI5E;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAMzE;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAoB7E;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,eAAe,GAC1B,SAAS,CAYX;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,eAAe,GAC1B,SAAS,CAYX;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,SAAS,EAAE,GAC/B,SAAS,GAAG,IAAI,CA8BlB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,OAAO,GAAE;IACP,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,MAAM,KACf,MAAM,GAAG,MAAM,CAAC;CACjB,GACL,SAAS,EAAE,CAkCb"}
|
|
@@ -6,6 +6,11 @@ export interface DecodedDetectionMask {
|
|
|
6
6
|
readonly data: Uint8Array;
|
|
7
7
|
}
|
|
8
8
|
export declare function copySortedDetectionFrames(detectionFrames: readonly DetectionFrame[] | undefined): DetectionFrame[];
|
|
9
|
+
/**
|
|
10
|
+
* One frame's deep copy, for a caller that already knows which frames it is
|
|
11
|
+
* keeping and only needs the ones it does not hold.
|
|
12
|
+
*/
|
|
13
|
+
export declare function copyDetectionFrame(frame: DetectionFrame): DetectionFrame;
|
|
9
14
|
export declare function validateDetectionFrames(detectionFrames: readonly DetectionFrame[]): void;
|
|
10
15
|
export declare function filterDetectionFramesForRange(detectionFrames: readonly DetectionFrame[], startTime: number, endTime: number): DetectionFrame[];
|
|
11
16
|
export declare function selectDetectionFrame(detectionFrames: readonly DetectionFrame[], mediaTime: number, options?: DetectionFrameSelectionOptions): DetectionFrame | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection-frames.d.ts","sourceRoot":"","sources":["../../src/utils/detection-frames.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"detection-frames.d.ts","sourceRoot":"","sources":["../../src/utils/detection-frames.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAqBD,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,GACrD,cAAc,EAAE,CAMlB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CA0CxE;AA2FD,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,SAAS,cAAc,EAAE,GACzC,IAAI,CA8KN;AAmED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,SAAS,cAAc,EAAE,EAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,cAAc,EAAE,CAIlB;AAED,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,SAAS,cAAc,EAAE,EAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,8BAAmC,GAC3C,cAAc,GAAG,SAAS,CAc5B;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,aAAa,GAClB,oBAAoB,CAkCtB;AAiJD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,WAOhB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,YA4BvD;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,UA0BlE"}
|
|
@@ -28,4 +28,13 @@ export declare function computeDetectionMaskRect(mask: DetectionMask): Rect | un
|
|
|
28
28
|
export declare function detectMaskBorders(data: Uint8Array, width: number, height: number): Uint8Array;
|
|
29
29
|
export declare function extractMaskContour(data: Uint8Array, width: number, height: number): readonly Point[] | undefined;
|
|
30
30
|
export declare function extractMaskRectRuns(data: Uint8Array, width: number, height: number): readonly MaskRectRun[] | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* The rect runs of a compressed-RLE mask, without holding the mask's raster.
|
|
33
|
+
*
|
|
34
|
+
* A mask is the size of the whole frame, so reading a silhouette that covers a
|
|
35
|
+
* fraction of one percent of it otherwise costs a megabytes-wide allocation and
|
|
36
|
+
* a pass over every pixel. The counts carry the occupied box, so the raster and
|
|
37
|
+
* the pass are that box.
|
|
38
|
+
*/
|
|
39
|
+
export declare function extractDetectionMaskRectRuns(mask: DetectionMask): readonly MaskRectRun[] | undefined;
|
|
31
40
|
//# sourceMappingURL=detection-masks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection-masks.d.ts","sourceRoot":"","sources":["../../src/utils/detection-masks.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAM3B,oBAAY,0BAA0B;IACpC,UAAU,eAAe;IACzB,cAAc,mBAAmB;CAClC;AAED,6EAA6E;AAC7E,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,aAAa,CA6Bf;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,iBAAiB,CAmDnB;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,aAAa,EACnB,KAAK,CAAC,EAAE,6BAA6B,GACpC,MAAM,CAER;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IACP,QAAQ,CAAC,KAAK,CAAC,EAAE,6BAA6B,CAAC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACzC,GACL,aAAa,CAsBf;AAED,yEAAyE;AACzE,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,GAAG,IAAI,CAkCb;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,aAAa,GAClB,IAAI,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"detection-masks.d.ts","sourceRoot":"","sources":["../../src/utils/detection-masks.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAM3B,oBAAY,0BAA0B;IACpC,UAAU,eAAe;IACzB,cAAc,mBAAmB;CAClC;AAED,6EAA6E;AAC7E,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,aAAa,CA6Bf;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,iBAAiB,CAmDnB;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,aAAa,EACnB,KAAK,CAAC,EAAE,6BAA6B,GACpC,MAAM,CAER;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IACP,QAAQ,CAAC,KAAK,CAAC,EAAE,6BAA6B,CAAC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACzC,GACL,aAAa,CAsBf;AAED,yEAAyE;AACzE,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,GAAG,IAAI,CAkCb;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,aAAa,GAClB,IAAI,GAAG,SAAS,CAalB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,UAAU,CA4BZ;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,SAAS,KAAK,EAAE,GAAG,SAAS,CA0B9B;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,SAAS,WAAW,EAAE,GAAG,SAAS,CAIpC;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,aAAa,GAClB,SAAS,WAAW,EAAE,GAAG,SAAS,CAiDpC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DetectionFrameSourceVersionRange } from "#types/detection-timeline";
|
|
2
|
+
/**
|
|
3
|
+
* Slack allowed when comparing two range ends.
|
|
4
|
+
*
|
|
5
|
+
* Range bounds are computed from frame times and durations, so an end that
|
|
6
|
+
* should meet another exactly can miss it by a float's last bits.
|
|
7
|
+
*/
|
|
8
|
+
export declare const RANGE_EPSILON_SECONDS = 0.000001;
|
|
9
|
+
/**
|
|
10
|
+
* Whether the available ranges together span the whole of `range`.
|
|
11
|
+
*
|
|
12
|
+
* Detections arrive a batch at a time, and a source that has not coalesced its
|
|
13
|
+
* ranges holds several that abut. Asking each range on its own whether it spans
|
|
14
|
+
* the window reports a window that is entirely covered as uncovered, so the
|
|
15
|
+
* walk below spends ranges in order and asks how far their union reaches.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isRangeCovered(range: DetectionFrameSourceVersionRange, availableRanges: readonly DetectionFrameSourceVersionRange[]): boolean;
|
|
18
|
+
//# sourceMappingURL=detection-ranges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detection-ranges.d.ts","sourceRoot":"","sources":["../../src/utils/detection-ranges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAElF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,WAAO,CAAC;AAE1C;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,gCAAgC,EACvC,eAAe,EAAE,SAAS,gCAAgC,EAAE,WA6B7D"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { MaskDrawInstruction } from "#types/mask-style";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Palette slots an id raster can name, one of them the background. A GLSL
|
|
4
|
+
* fragment stage is guaranteed only 224 uniform vectors, and a palette entry
|
|
5
|
+
* costs 2.25 of them, so this stays a multiple of four and well inside that
|
|
6
|
+
* budget; past it a frame draws from the RGBA composite instead.
|
|
7
|
+
*/
|
|
8
|
+
export declare const MAX_ID_MASK_PALETTE_ENTRIES = 80;
|
|
3
9
|
export declare const MAX_ID_MASK_STROKE_WIDTH = 16;
|
|
4
10
|
export interface IdMaskInstruction extends MaskDrawInstruction {
|
|
5
11
|
readonly detectionIndex: number;
|
|
@@ -10,9 +16,35 @@ export interface IdMaskFrame {
|
|
|
10
16
|
readonly hasStroke: boolean;
|
|
11
17
|
readonly height: number;
|
|
12
18
|
readonly maxStrokeWidth: number;
|
|
19
|
+
/** The frame-wide mask width every stroke on this raster is scaled against. */
|
|
20
|
+
readonly sourceWidth: number;
|
|
13
21
|
readonly strokePalette: Float32Array<ArrayBuffer>;
|
|
14
22
|
readonly strokeWidths: Float32Array<ArrayBuffer>;
|
|
15
23
|
readonly width: number;
|
|
16
24
|
}
|
|
17
|
-
export
|
|
25
|
+
export interface IdMaskFrameOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Widest raster to cook. A value at or above the instructions' own width
|
|
28
|
+
* cooks at their width, and a smaller one keeps their aspect ratio.
|
|
29
|
+
*/
|
|
30
|
+
readonly maxWidth?: number;
|
|
31
|
+
}
|
|
32
|
+
export declare function createIdMaskFrame(instructions: readonly IdMaskInstruction[], options?: IdMaskFrameOptions): IdMaskFrame | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* A stroke is measured in texels of the raster it is drawn on, so a coarser
|
|
35
|
+
* raster measures it in coarser texels. A stroke of a texel or more keeps at
|
|
36
|
+
* least one, the thinnest line the shader can draw; a narrower one keeps its
|
|
37
|
+
* own width, which the shader draws as an inner boundary at any scale. The
|
|
38
|
+
* ceiling is the widest neighbourhood the shaders scan, so a wider stroke would
|
|
39
|
+
* be drawn at the ceiling anyway and every layer drawing the same annotation
|
|
40
|
+
* has to arrive at the same width.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveIdMaskStrokeTexels(strokeWidth: number, maskWidth: number, rasterWidth: number): number;
|
|
43
|
+
/**
|
|
44
|
+
* The palette slot a detection index names, or undefined when the palette has
|
|
45
|
+
* no slot for it. Slot zero is the background, so the ids start at one and the
|
|
46
|
+
* last detection the palette can name sits one index below the last slot.
|
|
47
|
+
*/
|
|
48
|
+
export declare function resolveIdMaskPaletteId(detectionIndex: number): number | undefined;
|
|
49
|
+
export declare function writeIdMaskPaletteEntry(palette: Float32Array, detectionMaskId: number, color: number, alpha: number): void;
|
|
18
50
|
//# sourceMappingURL=id-mask-frame.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-mask-frame.d.ts","sourceRoot":"","sources":["../../src/utils/id-mask-frame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,SAAS,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"id-mask-frame.d.ts","sourceRoot":"","sources":["../../src/utils/id-mask-frame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,SAAS,iBAAiB,EAAE,EAC1C,OAAO,GAAE,kBAAuB,GAC/B,WAAW,GAAG,SAAS,CA+EzB;AAsGD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,UAQpB;AAmCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,sBAM5D;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,EACrB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,QAQd"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface WaitBound {
|
|
2
|
+
readonly cancel: () => void;
|
|
3
|
+
/** Resolves false once `timeoutMs` has passed, so a race reads as unmet. */
|
|
4
|
+
readonly expired: Promise<false>;
|
|
5
|
+
}
|
|
6
|
+
export declare function startWaitBound(timeoutMs: number): WaitBound;
|
|
7
|
+
//# sourceMappingURL=wait-bound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-bound.d.ts","sourceRoot":"","sources":["../../src/utils/wait-bound.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAClC;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAO3D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "supervision",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.0-next.1",
|
|
4
4
|
"description": "Browser-native computer vision media rendering and annotation engine.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -36,10 +36,31 @@
|
|
|
36
36
|
"types": "./dist/editing.d.ts",
|
|
37
37
|
"import": "./dist/editing.js"
|
|
38
38
|
},
|
|
39
|
+
"./web-video-engine": {
|
|
40
|
+
"types": "./dist/web-video-engine/index.d.ts",
|
|
41
|
+
"import": "./dist/web-video-engine/index.js",
|
|
42
|
+
"default": "./dist/web-video-engine/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./web-video-engine/analysis": {
|
|
45
|
+
"types": "./dist/web-video-engine/analysis.d.ts",
|
|
46
|
+
"import": "./dist/web-video-engine/analysis.js",
|
|
47
|
+
"default": "./dist/web-video-engine/analysis.js"
|
|
48
|
+
},
|
|
49
|
+
"./web-video-engine/worker": "./dist/web-video-engine/engine.worker.js",
|
|
39
50
|
"./render-preparation-worker": "./dist/mask-preparation.worker.js",
|
|
40
51
|
"./detection-post-processing-worker": "./dist/tracking.worker.js"
|
|
41
52
|
},
|
|
42
53
|
"imports": {
|
|
54
|
+
"#web-video-engine": {
|
|
55
|
+
"types": "./dist/web-video-engine/engine.d.ts",
|
|
56
|
+
"import": "./dist/web-video-engine/engine.js",
|
|
57
|
+
"default": "./dist/web-video-engine/engine.js"
|
|
58
|
+
},
|
|
59
|
+
"#web-video-engine/analysis": {
|
|
60
|
+
"types": "./dist/web-video-engine/analysis.d.ts",
|
|
61
|
+
"import": "./dist/web-video-engine/analysis.js",
|
|
62
|
+
"default": "./dist/web-video-engine/analysis.js"
|
|
63
|
+
},
|
|
43
64
|
"#editing/*": {
|
|
44
65
|
"types": "./dist/editing/*.d.ts",
|
|
45
66
|
"import": "./dist/editing/*.js"
|
|
@@ -98,8 +119,8 @@
|
|
|
98
119
|
"typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json"
|
|
99
120
|
},
|
|
100
121
|
"dependencies": {
|
|
101
|
-
"mediabunny": "^1.
|
|
102
|
-
"pixi.js": "^8.
|
|
122
|
+
"mediabunny": "^1.55.5",
|
|
123
|
+
"pixi.js": "^8.20.1",
|
|
103
124
|
"supervision-js-core": "0.0.0"
|
|
104
125
|
},
|
|
105
126
|
"bundleDependencies": [
|