react-native-skia-webgpu-video 0.1.0-beta.4 → 0.1.0
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/README.md +21 -23
- package/android/BUILD_VALIDATION.md +1 -1
- package/docs/FRAME_PIXEL_FORMAT.md +16 -1
- package/docs/UPSTREAM_NOTES.md +28 -1
- package/ios/RNSVColorSpace.h +8 -3
- package/lib/module/exportFrames.js +2 -2
- package/lib/module/exportFrames.js.map +1 -1
- package/lib/module/exportVideoComposition.js +25 -23
- package/lib/module/exportVideoComposition.js.map +1 -1
- package/lib/module/frameInterop.js +314 -70
- package/lib/module/frameInterop.js.map +1 -1
- package/lib/module/gpu.js +1 -1
- package/lib/module/gpu.js.map +1 -1
- package/lib/module/memory.js +7 -0
- package/lib/module/memory.js.map +1 -1
- package/lib/module/previewLifecycle.js +2 -0
- package/lib/module/previewLifecycle.js.map +1 -1
- package/lib/module/videoCompositionPlayer.js +65 -14
- package/lib/module/videoCompositionPlayer.js.map +1 -1
- package/lib/module/videoFrameImage.js +1 -1
- package/lib/module/yuvBlit.js +3 -3
- package/lib/typescript/src/exportVideoComposition.d.ts.map +1 -1
- package/lib/typescript/src/frameInterop.d.ts +16 -5
- package/lib/typescript/src/frameInterop.d.ts.map +1 -1
- package/lib/typescript/src/memory.d.ts +2 -0
- package/lib/typescript/src/memory.d.ts.map +1 -1
- package/lib/typescript/src/previewLifecycle.d.ts +2 -0
- package/lib/typescript/src/previewLifecycle.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +8 -7
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/videoCompositionPlayer.d.ts +4 -5
- package/lib/typescript/src/videoCompositionPlayer.d.ts.map +1 -1
- package/lib/typescript/src/videoFrameImage.d.ts +1 -1
- package/package.json +6 -6
- package/patches/{react-native-skia+3.7.4.patch → react-native-skia+3.10.0.patch} +7 -3
- package/scripts/skia-canvas-patch.json +6 -6
- package/src/exportFrames.ts +2 -2
- package/src/exportVideoComposition.ts +43 -59
- package/src/frameInterop.ts +380 -85
- package/src/gpu.ts +1 -1
- package/src/memory.ts +6 -0
- package/src/previewLifecycle.ts +4 -0
- package/src/types.ts +8 -7
- package/src/videoCompositionPlayer.ts +76 -23
- package/src/videoFrameImage.ts +1 -1
- package/src/yuvBlit.ts +3 -3
package/README.md
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
<a href="https://github.com/batical/react-native-skia-webgpu-video/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/batical/react-native-skia-webgpu-video/actions/workflows/ci.yml/badge.svg?branch=main" /></a>
|
|
7
|
-
<a href="https://www.npmjs.com/package/react-native-skia-webgpu-video"><img alt="npm" src="https://img.shields.io/npm/v/react-native-skia-webgpu-video
|
|
8
|
-
<a href="#status"><img alt="Status:
|
|
9
|
-
<img alt="React Native Skia 3.
|
|
10
|
-
<img alt="React Native WebGPU 0.
|
|
7
|
+
<a href="https://www.npmjs.com/package/react-native-skia-webgpu-video"><img alt="npm" src="https://img.shields.io/npm/v/react-native-skia-webgpu-video" /></a>
|
|
8
|
+
<a href="#status"><img alt="Status: stable" src="https://img.shields.io/badge/status-stable-22c55e" /></a>
|
|
9
|
+
<img alt="React Native Skia 3.10.0" src="https://img.shields.io/badge/Skia-3.10.0-38bdf8" />
|
|
10
|
+
<img alt="React Native WebGPU 0.21.3" src="https://img.shields.io/badge/WebGPU-0.21.3-a78bfa" />
|
|
11
11
|
<a href="LICENSE"><img alt="MIT license" src="https://img.shields.io/badge/license-MIT-34d399" /></a>
|
|
12
12
|
</p>
|
|
13
13
|
|
|
@@ -27,7 +27,7 @@ A new Skia 3 / WebGPU frame-interop layer, written from scratch with explicit re
|
|
|
27
27
|
- **Audio compositions** with clip audio, separate tracks, and per-item volume.
|
|
28
28
|
- **Custom GPU processing** through an export frame processor and an optional WebGPU resource scope.
|
|
29
29
|
|
|
30
|
-
> **
|
|
30
|
+
> **0.1.0.** The Skia 3.9.1 / WebGPU 0.21.0 build has run on an iPhone 15 Pro and a Pixel 8a: export speed, preview frame accuracy, pixel and color checks, native and instrumented tests, smoke runs. Not yet qualified: memory over long sessions (last checked on 3.0.6), HDR, audible output and A/V synchronization. A few 4K cases have known issues. See [status](#status) before adopting this in production.
|
|
31
31
|
|
|
32
32
|
## Installation
|
|
33
33
|
|
|
@@ -37,8 +37,8 @@ A new Skia 3 / WebGPU frame-interop layer, written from scratch with explicit re
|
|
|
37
37
|
| --- | --- |
|
|
38
38
|
| React Native | `0.86.2` tested; declared peer range `>=0.83 <0.87` |
|
|
39
39
|
| React | `19.2.3` tested |
|
|
40
|
-
| React Native Skia | **`react-native-skia@3.
|
|
41
|
-
| React Native WebGPU | **`react-native-webgpu@0.
|
|
40
|
+
| React Native Skia | **`react-native-skia@3.10.0`** |
|
|
41
|
+
| React Native WebGPU | **`react-native-webgpu@0.21.3`** (both resolve `react-native-webgpu-dawn@158.0.0`) |
|
|
42
42
|
| Reanimated / Worklets | **`4.5.3` / `0.11.3`** |
|
|
43
43
|
| Native runtime | New Architecture and Hermes |
|
|
44
44
|
| Android | API **28+**, Vulkan 1.1 (declared as a required feature by Skia) |
|
|
@@ -49,11 +49,9 @@ On ProMotion iPhones, add `CADisableMinimumFrameDurationOnPhone` (Boolean, `YES`
|
|
|
49
49
|
|
|
50
50
|
### Install
|
|
51
51
|
|
|
52
|
-
The beta is published on npm under the `beta` tag:
|
|
53
|
-
|
|
54
52
|
```sh
|
|
55
|
-
npm install --save-exact react-native-skia@3.
|
|
56
|
-
npm install --save-exact react-native-skia-webgpu-video
|
|
53
|
+
npm install --save-exact react-native-skia@3.10.0 react-native-webgpu@0.21.3 react-native-reanimated@4.5.3 react-native-worklets@0.11.3
|
|
54
|
+
npm install --save-exact react-native-skia-webgpu-video
|
|
57
55
|
```
|
|
58
56
|
|
|
59
57
|
Each version requires exact Skia and WebGPU versions (its peer dependencies). The [GitHub releases](https://github.com/batical/react-native-skia-webgpu-video/releases) attach the same package archive, installable by URL. To build it from source instead, run `npm ci`, `npm run build` and `npm pack` in a clone, then `npm install` the resulting `.tgz`.
|
|
@@ -206,26 +204,26 @@ This budget covers **tracked video resources**, not all memory held by codecs, S
|
|
|
206
204
|
| Step | iOS | Android |
|
|
207
205
|
| --- | --- | --- |
|
|
208
206
|
| Decode | AVFoundation, IOSurface-backed buffers, no extra copy (`alwaysCopiesSampleData = NO`): the decoder's NV12 (`framePixelFormat: 'yuv'`, the default), or BGRA converted by VideoToolbox (`'rgba'`) | API 29+, 8-bit SDR H.264/HEVC: `ImageReader` YUV buffers (the default), at any frame size, capped or explicit sizes included. Otherwise, or with `'rgba'`: EGL render into an RGBA AHardwareBuffer (or a CPU scoped-copy fallback) |
|
|
209
|
-
| Into Skia, preview | NV12: a YUV→RGB render pass into a
|
|
207
|
+
| Into Skia, preview | NV12: a YUV→RGB render pass into a texture of the frame's producer. BGRA: a WebGPU blit into it. The Skia image wraps that texture, without a copy | WebGPU blit (YUV→RGB, crop, rotation and scaling to the frame's size in one pass) into a texture of the frame's producer, which the Skia image wraps without a copy |
|
|
210
208
|
| Into Skia, export | NV12: converted into a per-clip texture, as on Android. BGRA: sampled in place through the frame's IOSurface, no copy | Same as preview |
|
|
211
209
|
| Export output | Skia draws into the encoder's CVPixelBuffer (IOSurface) | Skia draws into one of two textures of the library's, which a GPU copy puts into the codec's input Surface, through a WebGPU canvas context on it (Vulkan swapchain): no EGL. Before each present, the frame time is set on the window and its dataspace reset, so the codec writes Rec.709 limited range as it did with EGL |
|
|
212
210
|
| Fallback | CPU readback, with a warning | CPU readback, with a warning |
|
|
213
211
|
|
|
214
|
-
Every path
|
|
212
|
+
Every path gives source frames back only once the GPU is done with them: exports wait for checked GPU completion; the preview submits its draws and imports without waiting on the UI thread, and hands decoder buffers back when the GPU reports them done (waiting instead when the memory budget cannot hold them). Android's export waits for a frame's GPU work once it has decoded the next frame, so the GPU draws one frame while the CPU decodes the next, and it reports each frame's duration to Android's performance hints (ADPF, Android 13 and later), which raise the CPU and, from Android 15, the GPU capacity the export gets. On Android, OpenGL remains in two places: the CPU readback fallback draws into the codec Surface through EGL, and HDR and 10-bit sources (or `framePixelFormat: 'rgba'`) keep the EGL decode path.
|
|
215
213
|
|
|
216
214
|
### Frame pixel format
|
|
217
215
|
|
|
218
216
|
`framePixelFormat` chooses how a composition's frames are decoded, for its preview and its export:
|
|
219
217
|
|
|
220
218
|
```ts
|
|
221
|
-
const composition = { duration, items, framePixelFormat: 'yuv' }; // 'auto' (default) | 'yuv' | 'rgba'
|
|
219
|
+
const composition = { duration, items, framePixelFormat: 'yuv' }; // 'auto' (default) | 'yuv' | 'rgba' (deprecated)
|
|
222
220
|
```
|
|
223
221
|
|
|
224
222
|
- `yuv`: the decoder's own YUV 4:2:0 buffers, converted to RGB on the GPU when a frame is drawn. A decoded frame takes 1.5 bytes a pixel instead of 4 (12.4 MB instead of 33.2 MB in 4K), so the decoder keeps more frames ahead in the same memory.
|
|
225
|
-
- `rgba
|
|
226
|
-
- `auto`: `yuv`, on both platforms.
|
|
223
|
+
- `rgba` (**deprecated**, still supported): frames converted to RGB as they are decoded (iOS: by VideoToolbox; Android: by an OpenGL pass). It no longer has an advantage. Exports run as fast in `yuv` (a 120-clip montage on an iPhone 15 Pro: 7.7 s in `yuv`, 7.8 s in `rgba`), and `yuv` renders the same colors. A 4K60 preview keeps fewer frames on screen in `rgba` (about 235 of 360 on an iPhone 15 Pro, against 355 in `yuv`), and frames take 2.7 times the memory. Use `auto`.
|
|
224
|
+
- `auto`: `yuv`, on both platforms. Android keeps HDR and 10-bit tracks in RGBA whatever the setting.
|
|
227
225
|
|
|
228
|
-
Both convert with the frame's own YCbCr matrix and range, HDR tone mapped to Rec.709 by the platform.
|
|
226
|
+
Both convert with the frame's own YCbCr matrix and range, HDR tone mapped to Rec.709 by the platform. On iOS, both also convert files tagged Display P3 or sRGB to Rec.709, as AVFoundation does. Android takes SDR samples as Rec.709 in both formats. See the [measurements](docs/FRAME_PIXEL_FORMAT.md) before choosing.
|
|
229
227
|
|
|
230
228
|
For advanced exports, `createFrameProcessor` supports asynchronous preparation at each composition timestamp. The optional `react-native-skia-webgpu-video/gpu` entry point provides a resource scope whose asynchronous disposal waits for tracked work. See the [WebGPU cube example](examples/webgpu-overlay.ts).
|
|
231
229
|
|
|
@@ -235,7 +233,7 @@ These are integration building blocks. Three.js adapters, Core ML models, and au
|
|
|
235
233
|
|
|
236
234
|
Release builds, 3 repetitions per case, deterministic workloads from catalog `2026-10-07.1` (plus two 4K → 4K exports added for beta.4), median export wall time. Protocol, raw results and Perfetto analysis in the [3.7.4 verification report](migration/skia-3.7.4/verification.md). Earlier campaigns: [3.7.0](migration/skia-3.7.0/verification.md), [3.6.1](migration/skia-3.6.1/verification.md), [3.4.4](migration/skia-3.4.4/verification.md).
|
|
237
235
|
|
|
238
|
-
Beta.4 (Skia 3.7.4 / WebGPU 0.19.0) exports a third faster on Android, up to 45% on 4K sources, and leaves iOS unchanged.
|
|
236
|
+
Beta.4 (Skia 3.7.4 / WebGPU 0.19.0) exports a third faster on Android, up to 45% on 4K sources, and leaves iOS unchanged. 0.1.0 (Skia 3.9.1 / WebGPU 0.21.0) leaves export times unchanged on both phones, within ±4% ([3.9.1 verification](migration/skia-3.9.1/verification.md)).
|
|
239
237
|
|
|
240
238
|
**Pixel 8a (Android 17)**, thermal state nominal, medians of 9 repetitions for beta.3 and 6 for beta.4:
|
|
241
239
|
|
|
@@ -274,12 +272,12 @@ Reproduce on your devices with the example app: `node scripts/test-ios-device-ab
|
|
|
274
272
|
|
|
275
273
|
| Area | Current evidence |
|
|
276
274
|
| --- | --- |
|
|
277
|
-
| Frame accuracy | At 60 Hz, the preview draws the frame due at 99–100% of vsyncs in 30, 24 and 60 fps on both phones, and 97–100% in 4K with `yuv` frames on the Pixel 8a. On
|
|
278
|
-
| iOS | iPhone 15 Pro: 61/61 benchmark cases pass with `yuv` frames, including the three that stopped on the video memory budget with BGRA ([beta.3 verification](docs/VERIFICATION_0.1.0-beta.3.md)). With Skia 3.
|
|
279
|
-
| Android | Pixel 8a,
|
|
280
|
-
| JavaScript / types |
|
|
275
|
+
| Frame accuracy | At 60 Hz, the preview draws the frame due at 99–100% of vsyncs in 30, 24 and 60 fps on both phones, and 97–100% in 4K with `yuv` frames on the Pixel 8a. On an iPhone 15 Pro at 120 Hz with Skia 3.9.1: 99.7–100% of the frames read back are exact, and a 4K 60 fps preview shows 355–358 of its 360 frames at about 120 draws/s. Every exported frame holds the right source frame, in both frame pixel formats ([beta.3](docs/VERIFICATION_0.1.0-beta.3.md) and [3.9.1](migration/skia-3.9.1/verification.md) verifications). |
|
|
276
|
+
| iOS | iPhone 15 Pro: 61/61 benchmark cases pass with `yuv` frames, including the three that stopped on the video memory budget with BGRA ([beta.3 verification](docs/VERIFICATION_0.1.0-beta.3.md)). With Skia 3.9.1: 56/58 native XCTests pass, the other two being opt-in diagnostics. The smoke profile passes, and the frame-sync profile matches Skia 3.8.1's 43/58, with all 16 exports frame-exact ([3.9.1 verification](migration/skia-3.9.1/verification.md)). |
|
|
277
|
+
| Android | Pixel 8a, Skia 3.9.1: CPU vs GPU decode comparison 10/10 cases (max channel error 1, including rotation, portrait and 4K); export checks of a color pattern and of a decoded rotated clip match CPU readback, now read back asynchronously. The EGL-free export writes Rec.709, limited range ([3.7.4](migration/skia-3.7.4/verification.md) and [3.9.1](migration/skia-3.9.1/verification.md) verifications). Instrumented tests: 126/127. The failure, a 4K preview throughput test, fails the same way on Skia 3.8.1. |
|
|
278
|
+
| JavaScript / types | 247 tests in 11 suites, typecheck, package tests and 122 benchmark-harness tests pass; CI runs them on every pull request. |
|
|
281
279
|
| Image / audio fidelity | Sampled SDR pixels and an exported color pattern are checked on Android; iOS exported files have the same byte size as with 3.0.6. Whole-image fidelity, HDR, audible output and A/V synchronization remain unqualified. |
|
|
282
|
-
| Known issues | On Pixel 8a: a seek while playing a 4K sequence leaves the clock stalled, a paused seek into a 120-clip lazy montage does not show its frame, and Android 17 reports a missing file in words the harness does not recognize; all three predate beta.3.
|
|
280
|
+
| Known issues | On Pixel 8a: a seek while playing a 4K sequence leaves the clock stalled, a paused seek into a 120-clip lazy montage does not show its frame, and Android 17 reports a missing file in words the harness does not recognize; all three predate beta.3. On iPhone, a 4K 60 fps preview with the deprecated `rgba` frames shows only about 235 of 360 frames: its 33 MB buffers keep a GPU wait to stay within the memory budget. With `ImageReader`, 1:1 exports are 5–16% larger files for matching sampled pixels. |
|
|
283
281
|
| Long sessions | Not yet re-run since 3.0.6; the 3.0.6 results below are the latest. |
|
|
284
282
|
|
|
285
283
|
### Earlier results (Skia 3.0.6)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Android validation and frame ownership
|
|
2
2
|
|
|
3
|
-
The Android example in `../example/android` pins React Native 0.86.2, Skia 3.
|
|
3
|
+
The Android example in `../example/android` pins React Native 0.86.2, Skia 3.10.0, WebGPU 0.21.3, the shared `react-native-webgpu-dawn` 158.0.0 (chrome-m158) and Graphite Android 158.0.0; Gradle needs `node` to resolve that Dawn package. Since WebGPU 0.19.0, export renders straight into the codec's input Surface through a WebGPU canvas context on it (`MakeWebGPUCanvasContextFromNativeWindow`, Vulkan swapchain), with no EGL; CPU readback, drawn into the Surface by EGL, stays the fallback. On API 29+, 8-bit SDR H.264/HEVC clips go through an `ImageReader`, whose YUV buffers WebGPU converts, crops, rotates and scales to the frame's size (capped or explicit sizes included since the 3.7.4 migration); since 3.6.1 each buffer is imported once, and exports sample the converted frame in place. The 3.7.0 build was assembled and run on a Pixel 8a on 2026-10-19 ([verification](../migration/skia-3.7.0/verification.md)), after the 3.6.1 build of 2026-10-16 ([verification](../migration/skia-3.6.1/verification.md)) and the 3.4.4 build of 2026-10-14/15 ([verification](../migration/skia-3.4.4/verification.md)); the evidence below is from Skia 3.0.6 / WebGPU 0.12.1 / Graphite 154.1.0. It uses Java 17, Gradle 9.3.1, Android SDK 36 and NDK 27.1.12297006. The library requires API 28; a consuming application with a lower minimum receives an explicit Gradle configuration error. The default example ABI is arm64-v8a; `RNSKV_ANDROID_ABI` selects another ABI for the validation script.
|
|
4
4
|
|
|
5
5
|
Run `android/scripts/validate.sh build` from the repository. It assembles the example Debug and unsigned Release APKs, library AAR, standalone instrumentation APK and JVM tests. Release uses the installed `hermes-compiler` package, and both native and Metro build concurrency are bounded to two workers. The Release APK is unsigned: device installation requires signing a separate local qualification artifact. The project supplies no publishing or release signing configuration.
|
|
6
6
|
|
|
@@ -79,7 +79,22 @@ Chaque frame exportée a été relue : la bonne frame source dans tous les cas,
|
|
|
79
79
|
| HEVC 1080p 60 → 640×360 | 4,1 s | 8,9 s | 0,9–1,4 s | **0,5 s** |
|
|
80
80
|
| Montage de 120 clips (suite `full`) | **63,5 s** | 95,9 s | 18,1 s | **14,0 s** |
|
|
81
81
|
|
|
82
|
-
Sur iOS, l'export en `yuv` importe chaque frame NV12 et la convertit dans une texture, là où le BGRA est lu en place.
|
|
82
|
+
Sur iOS, l'export en `yuv` importe chaque frame NV12 et la convertit dans une texture, là où le BGRA est lu en place. Au 21 octobre (beta.3), ce surcoût d'environ 2 à 4 ms par frame pesait sur les sorties petites ou les exports longs.
|
|
83
|
+
|
|
84
|
+
**Mise à jour du 4 novembre 2026 (Skia 3.9.1, même build, deux répétitions) :** l'écart a disparu depuis l'import NV12 en place de la beta.4.
|
|
85
|
+
|
|
86
|
+
| Export iPhone 15 Pro | `yuv` | `rgba` |
|
|
87
|
+
| --- | --- | --- |
|
|
88
|
+
| `long-montage-120-clips` (2 160 images) | **7 692 ms** | 7 778 ms |
|
|
89
|
+
| `shorts-x20-lazy` | **1 298 ms** | 1 354 ms |
|
|
90
|
+
| `montage-all-crossfade-lazy` | 2 191 ms | 2 122 ms |
|
|
91
|
+
| `native-hevc-1080p-rot270` | 737 ms | 728 ms |
|
|
92
|
+
| `encode-h264-copy` | 180 ms | 178 ms |
|
|
93
|
+
|
|
94
|
+
- La conversion coûte environ 0,9 ms de GPU par image sur des sources 4K, mais le décodage NV12 gagne environ 0,8 ms.
|
|
95
|
+
- `rgba` gardait un dernier avantage sur iOS : la conversion des fichiers étiquetés Display P3 ou sRGB. Depuis le 4 novembre, le décodage NV12 la demande aussi à AVFoundation (`TrackNeedsSDRConversion`, `ios/RNSVColorSpace.h`). Sur `render-tagged-p3-flowers`, l'écart `yuv`/`rgba` passe de 26 (moyenne 5,72) à 7 (moyenne 0,82), au niveau des clips Rec.709. Les autres fichiers ne bougent pas.
|
|
96
|
+
- **`rgba` est donc déprécié** : il ne fait plus rien que `yuv` ne fasse aussi bien. Il reste accepté.
|
|
97
|
+
- En aperçu, `rgba` est à éviter : depuis Skia 3.9.1, un aperçu 4K60 en `rgba` sur iPhone 15 Pro garde environ 235 images sur 360, contre 355 en `yuv` (voir la [vérification 3.9.1](../migration/skia-3.9.1/verification.md)).
|
|
83
98
|
|
|
84
99
|
### Mémoire
|
|
85
100
|
|
package/docs/UPSTREAM_NOTES.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Points amont à revoir lors d'une mise à jour Skia
|
|
2
2
|
|
|
3
|
+
**Mise à jour du 12 novembre 2026 :** **`react-native-skia@3.10.0`** et **`react-native-webgpu@0.21.3`**, sur Dawn/Graphite **158.0.0** (Skia m158, [#4419](https://github.com/wcandillon/react-native-skia/pull/4419)) ; les deux paquets montent ensemble.
|
|
4
|
+
- **Patch :** `RNDawnContext.h` et `JsiSkSurface.h` sont identiques octet pour octet à ceux de la 3.9.2. `JsiSkApi.h` change (ajout de `ShapeBlob`), mais les éditions s'y appliquent telles quelles ; seules ses empreintes changent.
|
|
5
|
+
- **Autres changements amont :** `pendingFrames` exposé par vue sur `SkGraphiteContext` ([#4412](https://github.com/wcandillon/react-native-skia/pull/4412)), rejeu des commandes du recorder sans copies ([#4423](https://github.com/wcandillon/react-native-skia/pull/4423), [#4424](https://github.com/wcandillon/react-native-skia/pull/4424)), `SkShapeBlob` ([#4413](https://github.com/wcandillon/react-native-skia/pull/4413), non utilisé ici).
|
|
6
|
+
- **Vérifié sur l'hôte seulement :** Jest, typecheck, tests du paquet. Pas encore de build ni de mesure sur appareil.
|
|
7
|
+
|
|
8
|
+
**Mise à jour du 9 novembre 2026 :** **`react-native-skia@3.9.2`** et **`react-native-webgpu@0.21.2`**, toujours sur Dawn/Graphite **157.1.0**. Le `main` amont du jour (`cf9240bd6`) ne diffère de la v3.9.2 que par un banc de performance de l'exemple et de la CI ([#4385](https://github.com/wcandillon/react-native-skia/pull/4385)) : le paquet publié est le même.
|
|
9
|
+
- **Patch :** `JsiSkSurface.h` et `JsiSkApi.h` sont identiques octet pour octet à ceux de la 3.9.1. `RNDawnContext.h` change, mais les 8 éditions s'y appliquent telles quelles.
|
|
10
|
+
- **Une ligne ajoutée au patch :** `submitRecordingChecked` marque son snap et son exécution comme travail GPU (`RNSkGpuActivity::Scope`), comme le fait désormais `submitRecording` en amont.
|
|
11
|
+
- La 3.9.2 compile en tâche de fond les pipelines courants et ceux du lancement précédent (`RNSkPipelineWarmup`, [#4398](https://github.com/wcandillon/react-native-skia/pull/4398)).
|
|
12
|
+
- Ce warmup ne compile que si aucun travail GPU n'est marqué, car chaque compilation tient le verrou du device Dawn.
|
|
13
|
+
- Sans le marquage, nos soumissions vérifiées (l'export) passeraient pour un device au repos.
|
|
14
|
+
- **Autres changements amont :** cadence des vues refaite ([#4398](https://github.com/wcandillon/react-native-skia/pull/4398)), le thread principal Android n'attend plus le thread de présentation ([#4395](https://github.com/wcandillon/react-native-skia/pull/4395)), `MakeGPUTextureFromImage` n'attend plus le CPU ([#4401](https://github.com/wcandillon/react-native-skia/pull/4401), non utilisé ici).
|
|
15
|
+
- **WebGPU 0.21.1 et 0.21.2 :** un `null` dans une liste d'emplacements garde son index ([#617](https://github.com/wcandillon/react-native-webgpu/pull/617)), `device.queue` rend toujours le même objet ([#614](https://github.com/wcandillon/react-native-webgpu/pull/614)), pod compatible `use_frameworks!` ([#612](https://github.com/wcandillon/react-native-webgpu/pull/612)).
|
|
16
|
+
- [#4276](https://github.com/wcandillon/react-native-skia/pull/4276) est toujours ouverte : le patch ne rétrécit pas.
|
|
17
|
+
|
|
18
|
+
**Mise à jour du 4 novembre 2026 :** **`react-native-skia@3.9.1`** et **`react-native-webgpu@0.21.0`**, sur Dawn/Graphite **157.1.0** ; les deux paquets montent ensemble.
|
|
19
|
+
- **Patch :** `RNDawnContext.h` et `JsiSkApi.h` changent en amont, mais les 8 éditions s'appliquent telles quelles ; seuls les empreintes et les décalages changent.
|
|
20
|
+
- **Readbacks asynchrones (3.9.0, [#4368](https://github.com/wcandillon/react-native-skia/pull/4368)) :** `canvas.readPixels` renvoie une promesse et ne prend plus de tableau de destination. Le readback CPU de secours de l'export attend donc la lecture avant d'encoder.
|
|
21
|
+
- **Aperçu et 3.9.1 :** la 3.9.1 présente une recording par vsync ([#4386](https://github.com/wcandillon/react-native-skia/pull/4386)).
|
|
22
|
+
- Notre aperçu attendait le GPU sur le thread UI à chaque image et à chaque import (`flush(true)`). Ces attentes portent sur tout le contexte partagé, présentation des vues comprise.
|
|
23
|
+
- Résultat, sans correctif : le 4K60 natif sur iPhone tombait de 60 à ~40 i/s. La 3.9.0 n'est pas touchée (bisection).
|
|
24
|
+
- Corrigé de notre côté : dessin et import soumis sans attente, tampons du décodeur rendus quand le GPU a fini (promesse WebGPU), le tout borné par le budget mémoire.
|
|
25
|
+
- À une prochaine montée, mesurer de nouveau `preview-4k-hevc-60-noread` sur iPhone : c'est le cas qui révèle ces couplages.
|
|
26
|
+
- Détails : [vérification](../migration/skia-3.9.1/verification.md).
|
|
27
|
+
|
|
28
|
+
**Mise à jour du 1er novembre 2026 :** **`react-native-skia@3.8.1`** et **`react-native-webgpu@0.19.2`**, toujours sur Dawn/Graphite 157.0.0. Les trois fichiers patchés sont identiques octet pour octet à ceux de la 3.7.4 : le patch s'applique tel quel, seuls sa version et son nom changent. La 3.8.0 renomme les factories sans alias ([#4323](https://github.com/wcandillon/react-native-skia/pull/4323)) : nous appelons désormais `Skia.Image.MakeFromGPUTexture` (ex-`MakeImageFromGPUTexture`) et `Skia.Image.MakeRaster` (ex-`MakeRasterImage`). Elle retire aussi `SkiaPictureView` ([#4327](https://github.com/wcandillon/react-native-skia/pull/4327)), que la bibliothèque n'utilise pas. Le seul changement natif sur nos chemins vient de la 3.8.1 et de WebGPU 0.19.2 ([#4341](https://github.com/wcandillon/react-native-skia/pull/4341), [WebGPU #595](https://github.com/wcandillon/react-native-webgpu/pull/595)) : sur Android, Dawn garde un seul `VkPipelineCache` par device au lieu d'en créer et détruire un par pipeline compilé. Cela corrige un crash du pilote PowerVR (MediaTek) pendant la compilation des pipelines Graphite. Notre PR [#4276](https://github.com/wcandillon/react-native-skia/pull/4276) est toujours ouverte, et [#4274](https://github.com/wcandillon/react-native-skia/pull/4274) a été fermée (le correctif est entré par #4277) : le patch ne rétrécit pas. Voir la [vérification](../migration/skia-3.8.1/verification.md).
|
|
29
|
+
|
|
3
30
|
**Mise à jour du 23 octobre 2026 :** **`react-native-skia@3.7.4`** et **`react-native-webgpu@0.19.0`**, toujours sur Dawn/Graphite 157.0.0. Le patch local passe de 7 fichiers et 62 éditions à 3 fichiers et 8 éditions. `canvas.dispose()` disparaît : en amont, la surface possède son canvas ([#4278](https://github.com/wcandillon/react-native-skia/pull/4278)) et `surface.dispose()` le détache. Le correctif d'`ImageProvider::Make()` est entré en amont par [#4277](https://github.com/wcandillon/react-native-skia/pull/4277). Restent les soumissions vérifiées, réécrites sur le nouveau `DawnContext::submitRecording(recorder, …)`, et `__rnskvTrimRecorderCache`, réduit à un appel de `trimThreadRecorders`. L'export Android rend désormais directement dans la `Surface` d'entrée du codec par `MakeWebGPUCanvasContextFromNativeWindow` ([WebGPU #588](https://github.com/wcandillon/react-native-webgpu/pull/588)), sans EGL. Voir l'[audit](../migration/skia-3.7.4/upstream-audit.md) et la [vérification](../migration/skia-3.7.4/verification.md).
|
|
4
31
|
|
|
5
32
|
**Mise à jour du 20 octobre 2026 :** **`react-native-skia@3.7.1`**, toujours avec `react-native-webgpu@0.17.0` et Dawn/Graphite 157.0.0. La 3.7.1 ne contient qu'une correction iOS ([#4273](https://github.com/wcandillon/react-native-skia/pull/4273)) : `SkiaView.mm` présente désormais à la pleine fréquence de l'écran sur les appareils ProMotion. Les sept fichiers modifiés par le patch local sont identiques octet pour octet à ceux de la 3.7.0 : le patch s'applique tel quel, seuls sa version et son nom changent. Nos PR amont [#4274](https://github.com/wcandillon/react-native-skia/pull/4274), [#4275](https://github.com/wcandillon/react-native-skia/pull/4275) et [#4276](https://github.com/wcandillon/react-native-skia/pull/4276) sont encore ouvertes : le patch ne rétrécit pas. Vérifié le 20 octobre sur appareils, en Release : iPhone 15 Pro, tests natifs 50/50 et profil smoke 15/15 (l'app déclare Skia 3.7.1, écran à 120 Hz) ; Pixel 8a, contrôle `interop` 10/10 (erreur maximale par canal de 1, comme en 3.7.0, chemins GPU et readback d'accord à l'export) et smoke 15/15. Les mesures d'export de la 3.7.0 restent la référence : le code d'export ne change pas.
|
|
@@ -117,7 +144,7 @@ La [source Skia de ce build](https://chromium.googlesource.com/skia/+/2466dcf393
|
|
|
117
144
|
|
|
118
145
|
Fichiers inspectables :
|
|
119
146
|
|
|
120
|
-
- [`patches/react-native-skia+3.
|
|
147
|
+
- [`patches/react-native-skia+3.10.0.patch`](../patches/react-native-skia+3.10.0.patch) : diff du correctif courant ; ceux des versions précédentes sont conservés comme historique.
|
|
121
148
|
- [`scripts/skia-canvas-patch.json`](../scripts/skia-canvas-patch.json) : version, empreintes avant/après et substitutions attendues.
|
|
122
149
|
- [`scripts/apply-skia-canvas-patch.mjs`](../scripts/apply-skia-canvas-patch.mjs) : vérifie tout avant toute écriture, accepte un patch déjà appliqué, refuse un paquet différent.
|
|
123
150
|
|
package/ios/RNSVColorSpace.h
CHANGED
|
@@ -32,7 +32,9 @@ static inline NSDictionary* SDRColorProperties() {
|
|
|
32
32
|
/**
|
|
33
33
|
* Whether a track needs AVFoundation's conversion to Rec.709 even when its
|
|
34
34
|
* frames are decoded to NV12: an HDR transfer function (HLG, PQ) or BT.2020
|
|
35
|
-
* primaries, which only a tone mapping brings to SDR
|
|
35
|
+
* primaries, which only a tone mapping brings to SDR, and the Display P3 or
|
|
36
|
+
* DCI-P3 primaries or sRGB transfer function of a file recorded or exported
|
|
37
|
+
* for a wide-gamut screen, which BGRA output converts too.
|
|
36
38
|
*
|
|
37
39
|
* An SDR track decoded to NV12 is left as it is: its buffers carry their own
|
|
38
40
|
* YCbCr matrix, which the GPU applies when it converts them. Asked for Rec.709
|
|
@@ -52,9 +54,12 @@ static inline bool TrackNeedsSDRConversion(AVAssetTrack* track) {
|
|
|
52
54
|
CFTypeRef primaries = CMFormatDescriptionGetExtension(
|
|
53
55
|
format, kCMFormatDescriptionExtension_ColorPrimaries);
|
|
54
56
|
if (transfer && (CFEqual(transfer, kCVImageBufferTransferFunction_ITU_R_2100_HLG) ||
|
|
55
|
-
CFEqual(transfer, kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ)
|
|
57
|
+
CFEqual(transfer, kCVImageBufferTransferFunction_SMPTE_ST_2084_PQ) ||
|
|
58
|
+
CFEqual(transfer, kCVImageBufferTransferFunction_sRGB)))
|
|
56
59
|
return true;
|
|
57
|
-
if (primaries && CFEqual(primaries, kCVImageBufferColorPrimaries_ITU_R_2020)
|
|
60
|
+
if (primaries && (CFEqual(primaries, kCVImageBufferColorPrimaries_ITU_R_2020) ||
|
|
61
|
+
CFEqual(primaries, kCVImageBufferColorPrimaries_P3_D65) ||
|
|
62
|
+
CFEqual(primaries, kCVImageBufferColorPrimaries_DCI_P3)))
|
|
58
63
|
return true;
|
|
59
64
|
}
|
|
60
65
|
return false;
|
|
@@ -139,7 +139,7 @@ const importYuvExportFrame = (imports, frame) => {
|
|
|
139
139
|
// Can throw after submitting: drain below before giving the lease back.
|
|
140
140
|
submitted = true;
|
|
141
141
|
if (nv12) blitNv12Frame(device, entry.nativeFrame, target.texture);else blitYuvFrame(device, imports.yuv, producer, entry.nativeFrame, rotation, region, target.texture);
|
|
142
|
-
entry.image = Skia.Image.
|
|
142
|
+
entry.image = Skia.Image.MakeFromGPUTexture(target.texture);
|
|
143
143
|
if (!entry.image) throw new Error("Cannot wrap the decoded frame");
|
|
144
144
|
return entry;
|
|
145
145
|
} catch (error) {
|
|
@@ -197,7 +197,7 @@ export const importExportFrame = (frame, imports) => {
|
|
|
197
197
|
entry.texture = entry.memory.createTexture();
|
|
198
198
|
entry.memory.beginAccess(entry.texture, true);
|
|
199
199
|
entry.accessing = true;
|
|
200
|
-
entry.image = Skia.Image.
|
|
200
|
+
entry.image = Skia.Image.MakeFromGPUTexture(entry.texture);
|
|
201
201
|
if (!entry.image) throw new Error("Cannot wrap the decoded frame");
|
|
202
202
|
return entry;
|
|
203
203
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","BlendMode","Skia","createNativeVideoGpuFrame","getVideoGpuDevice","nativeVideoTextureUsage","frameByteSize","releaseVideoMemory","reserveVideoMemory","blitNv12Frame","blitYuvFrame","releaseYuvImports","yuvFrameRegion","convertsYuv","OS","createExportFrameImports","entries","Map","producers","Set","enabled","imported","textures","yuv","canImportInPlace","frame","texture","kind","id","undefined","region","releaseExportFrame","entry","image","dispose","accessing","memory","ended","endAccess","state","fences","fence","destroy","nativeFrame","release","releaseProducerTexture","imports","producer","target","get","reservation","delete","importYuvExportFrame","producerId","source","submitted","nativeBuffer","rotation","nv12","format","width","height","Error","device","createTexture","size","usage","label","error","set","Image","MakeImageFromGPUTexture","drain","Surface","MakeFromGPUTexture","getCanvas","drawColor","Color","Clear","flush","importExportFrame","pixelFormat","importSharedTextureMemory","handle","beginAccess","releaseExportFrames","keys","ownExportFrames","decoded","fallback","owned","held","current","key","Object","seen","next","console","warn","String","add","aliases","WeakSet","has","crop","values","rest","copying"],"sourceRoot":"../../src","sources":["exportFrames.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","BlendMode","Skia","createNativeVideoGpuFrame","getVideoGpuDevice","nativeVideoTextureUsage","frameByteSize","releaseVideoMemory","reserveVideoMemory","blitNv12Frame","blitYuvFrame","releaseYuvImports","yuvFrameRegion","convertsYuv","OS","createExportFrameImports","entries","Map","producers","Set","enabled","imported","textures","yuv","canImportInPlace","frame","texture","kind","id","undefined","region","releaseExportFrame","entry","image","dispose","accessing","memory","ended","endAccess","state","fences","fence","destroy","nativeFrame","release","releaseProducerTexture","imports","producer","target","get","reservation","delete","importYuvExportFrame","producerId","source","submitted","nativeBuffer","rotation","nv12","format","width","height","Error","device","createTexture","size","usage","label","error","set","Image","MakeFromGPUTexture","drain","Surface","getCanvas","drawColor","Color","Clear","flush","importExportFrame","pixelFormat","importSharedTextureMemory","handle","beginAccess","releaseExportFrames","keys","ownExportFrames","decoded","fallback","owned","held","current","key","Object","seen","next","console","warn","String","add","aliases","WeakSet","has","crop","values","rest","copying"],"sourceRoot":"../../src","sources":["exportFrames.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,10 +19,6 @@ import { createExportFrameImports, ownExportFrames, releaseExportFrames } from "
|
|
|
19
19
|
/** Cumulative wall-clock milliseconds per export stage, measured on the
|
|
20
20
|
* export runtime. Stages are sequential, so they add up to `totalMs`. */
|
|
21
21
|
|
|
22
|
-
// Native Skia 3.4.4 accepts destination/stride in readPixels; its
|
|
23
|
-
// published Canvas type currently omits these arguments. Use only a private,
|
|
24
|
-
// full-length, zero-offset Uint8Array (the native implementation ignores offsets).
|
|
25
|
-
|
|
26
22
|
let exportRuntime = null;
|
|
27
23
|
const getExportRuntime = () => {
|
|
28
24
|
if (!exportRuntime) exportRuntime = createWorkletRuntime({
|
|
@@ -237,7 +233,6 @@ const executeExport = args => new Promise((resolve, reject) => {
|
|
|
237
233
|
}
|
|
238
234
|
if (cleanup.safeToRelease) {
|
|
239
235
|
state.frames = {};
|
|
240
|
-
state.readback = null;
|
|
241
236
|
delete storage.__rnskwgpuExport;
|
|
242
237
|
} else {
|
|
243
238
|
// One retained session at most; subsequent exports fail before
|
|
@@ -289,6 +284,10 @@ const executeExport = args => new Promise((resolve, reject) => {
|
|
|
289
284
|
await finish(null, true);
|
|
290
285
|
return false;
|
|
291
286
|
}
|
|
287
|
+
// CPU readback path only: the frame's pixels, still on their way.
|
|
288
|
+
const readback = {
|
|
289
|
+
pixels: null
|
|
290
|
+
};
|
|
292
291
|
const draw = () => {
|
|
293
292
|
"worklet";
|
|
294
293
|
|
|
@@ -333,25 +332,14 @@ const executeExport = args => new Promise((resolve, reject) => {
|
|
|
333
332
|
nativeBuffer: target.pointer
|
|
334
333
|
}, time);
|
|
335
334
|
} else {
|
|
336
|
-
|
|
337
|
-
|
|
335
|
+
// Skia 3.9 reads back asynchronously, into a new array: the
|
|
336
|
+
// frame is encoded once it lands, after this scope.
|
|
337
|
+
readback.pixels = canvas.readPixels(0, 0, {
|
|
338
338
|
width: options.width,
|
|
339
339
|
height: options.height,
|
|
340
340
|
colorType: bgra ? ColorType.BGRA_8888 : ColorType.RGBA_8888,
|
|
341
341
|
alphaType: AlphaType.Premul
|
|
342
|
-
}
|
|
343
|
-
if (!(pixels instanceof Uint8Array) || pixels.byteLength !== bytes || pixels.byteOffset !== 0 || pixels.buffer !== state.readback.buffer) {
|
|
344
|
-
throw new Error("Video export pixel readback failed");
|
|
345
|
-
}
|
|
346
|
-
// Fallback: consumed synchronously by the bounded native pool.
|
|
347
|
-
const storage = pixels.byteOffset === 0 && pixels.buffer.byteLength === pixels.byteLength ? pixels.buffer : pixels.buffer.slice(pixels.byteOffset, pixels.byteOffset + pixels.byteLength);
|
|
348
|
-
state.encoder.encodeFrame({
|
|
349
|
-
kind: bgra ? "bgra" : "rgba",
|
|
350
|
-
data: storage,
|
|
351
|
-
width: options.width,
|
|
352
|
-
height: options.height,
|
|
353
|
-
bytesPerRow: options.width * 4
|
|
354
|
-
}, time);
|
|
342
|
+
});
|
|
355
343
|
}
|
|
356
344
|
lap("encodeMs");
|
|
357
345
|
} catch (error) {
|
|
@@ -389,6 +377,22 @@ const executeExport = args => new Promise((resolve, reject) => {
|
|
|
389
377
|
if (drawn.failed) throw drawn.failure;
|
|
390
378
|
};
|
|
391
379
|
runWithVideoAutoreleasePool(draw);
|
|
380
|
+
if (readback.pixels) {
|
|
381
|
+
const pixels = await readback.pixels;
|
|
382
|
+
lap("gpuMs");
|
|
383
|
+
// isView, not instanceof: true of a typed array of any realm.
|
|
384
|
+
if (!ArrayBuffer.isView(pixels) || pixels.byteLength !== bytes) throw new Error("Video export pixel readback failed");
|
|
385
|
+
// Fallback: consumed synchronously by the bounded native pool.
|
|
386
|
+
const storage = pixels.byteOffset === 0 && pixels.buffer.byteLength === pixels.byteLength ? pixels.buffer : pixels.buffer.slice(pixels.byteOffset, pixels.byteOffset + pixels.byteLength);
|
|
387
|
+
runWithVideoAutoreleasePool(() => state.encoder.encodeFrame({
|
|
388
|
+
kind: bgra ? "bgra" : "rgba",
|
|
389
|
+
data: storage,
|
|
390
|
+
width: options.width,
|
|
391
|
+
height: options.height,
|
|
392
|
+
bytesPerRow: options.width * 4
|
|
393
|
+
}, time));
|
|
394
|
+
lap("encodeMs");
|
|
395
|
+
}
|
|
392
396
|
state.index++;
|
|
393
397
|
if (onProgress) scheduleOnRN(onProgress, {
|
|
394
398
|
framesCompleted: state.index,
|
|
@@ -442,7 +446,6 @@ const executeExport = args => new Promise((resolve, reject) => {
|
|
|
442
446
|
extractor: null,
|
|
443
447
|
surface: null,
|
|
444
448
|
canvas: null,
|
|
445
|
-
readback: null,
|
|
446
449
|
gpu: false,
|
|
447
450
|
target: null,
|
|
448
451
|
window: null,
|
|
@@ -468,8 +471,7 @@ const executeExport = args => new Promise((resolve, reject) => {
|
|
|
468
471
|
// Render target + transient full-frame CPU readback. Native decoder
|
|
469
472
|
// and encoder reservations are additional entries in the same budget.
|
|
470
473
|
state.reservations.push(reserveVideoMemory(bytes, "export render target"));
|
|
471
|
-
state.reservations.push(reserveVideoMemory(bytes * 2, "export
|
|
472
|
-
state.readback = new Uint8Array(bytes);
|
|
474
|
+
state.reservations.push(reserveVideoMemory(bytes * 2, "export readback and transient raster"));
|
|
473
475
|
state.hasRecorder = true;
|
|
474
476
|
state.surface = Skia.Surface.MakeOffscreen(options.width, options.height);
|
|
475
477
|
if (!state.surface) throw new Error("Cannot allocate export surface");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["assertExportRecorderCacheSupport","trimExportRecorderCache","getVideoCanvas","createWorkletRuntime","createSynchronizable","runOnRuntime","scheduleOnRN","AlphaType","BlendMode","ColorType","Skia","Platform","RNSkiaVideoModule","clearVideoFrameImages","ownVideoFrames","releaseVideoFrameImage","frameByteSize","releaseVideoMemory","reserveVideoMemory","enqueueExport","exportAbortError","acquireEncoderTarget","acquireWindowTarget","closeEncoderTarget","closeEncoderWindow","presentWindowTarget","probeEncoderTarget","probeEncoderWindow","releaseEncoderWindow","supportsEncoderTargets","yieldToRuntime","createExportFrameImports","ownExportFrames","releaseExportFrames","exportRuntime","getExportRuntime","name","runWithVideoAutoreleasePool","fn","runWithAutoreleasePool","body","exportVideoComposition","args","executeExport","abortSignal","Promise","resolve","reject","videoComposition","drawFrame","beforeDrawFrame","afterDrawFrame","onProgress","createFrameProcessor","onProfile","options","aborted","bytes","nbFrames","width","height","Number","isFinite","frameRate","duration","bitRate","outPath","Error","Math","ceil","isSafeInteger","error","cancelled","onAbort","setBlocking","addEventListener","settle","failed","removeEventListener","runtime","getBlocking","bgra","OS","gpuExport","getBackendInfo","gpuDirectExport","step","frameWorklet","storage","globalThis","state","__rnskwgpuExport","isCancelled","profile","frames","totalMs","decodeMs","importMs","prepareMs","targetMs","drawMs","gpuMs","encodeMs","yieldMs","clock","last","lap","stage","now","performance","checkWindowFrame","unchecked","window","slots","next","surface","flush","finish","cleanup","failure","safeToRelease","clean","e","target","pendingAfterDraw","processor","dispose","extractor","encoder","frame","Object","values","imports","canvas","hasRecorder","i","reservations","length","splice","readback","poisoned","setupError","work","time","index","owned","decoded","decodeCompositionFrames","imported","key","previous","entries","producers","has","producerId","prepareFrame","currentTime","draw","gpu","drawColor","Color","Clear","context","drawn","undefined","drained","encodeFrame","kind","nativeBuffer","pointer","readbackCanvas","pixels","readPixels","colorType","BGRA_8888","RGBA_8888","alphaType","Premul","Uint8Array","byteLength","byteOffset","buffer","slice","data","bytesPerRow","releaseContext","framesCompleted","finishWriting","run","setup","allocateReadback","push","Surface","MakeOffscreen","createVideoEncoder","audioBitRate","audioSampleRate","audioChannelCount","prepare","probe","console","warn","String","createVideoCompositionFramesExtractorSync","start"],"sourceRoot":"../../src","sources":["exportVideoComposition.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["assertExportRecorderCacheSupport","trimExportRecorderCache","getVideoCanvas","createWorkletRuntime","createSynchronizable","runOnRuntime","scheduleOnRN","AlphaType","BlendMode","ColorType","Skia","Platform","RNSkiaVideoModule","clearVideoFrameImages","ownVideoFrames","releaseVideoFrameImage","frameByteSize","releaseVideoMemory","reserveVideoMemory","enqueueExport","exportAbortError","acquireEncoderTarget","acquireWindowTarget","closeEncoderTarget","closeEncoderWindow","presentWindowTarget","probeEncoderTarget","probeEncoderWindow","releaseEncoderWindow","supportsEncoderTargets","yieldToRuntime","createExportFrameImports","ownExportFrames","releaseExportFrames","exportRuntime","getExportRuntime","name","runWithVideoAutoreleasePool","fn","runWithAutoreleasePool","body","exportVideoComposition","args","executeExport","abortSignal","Promise","resolve","reject","videoComposition","drawFrame","beforeDrawFrame","afterDrawFrame","onProgress","createFrameProcessor","onProfile","options","aborted","bytes","nbFrames","width","height","Number","isFinite","frameRate","duration","bitRate","outPath","Error","Math","ceil","isSafeInteger","error","cancelled","onAbort","setBlocking","addEventListener","settle","failed","removeEventListener","runtime","getBlocking","bgra","OS","gpuExport","getBackendInfo","gpuDirectExport","step","frameWorklet","storage","globalThis","state","__rnskwgpuExport","isCancelled","profile","frames","totalMs","decodeMs","importMs","prepareMs","targetMs","drawMs","gpuMs","encodeMs","yieldMs","clock","last","lap","stage","now","performance","checkWindowFrame","unchecked","window","slots","next","surface","flush","finish","cleanup","failure","safeToRelease","clean","e","target","pendingAfterDraw","processor","dispose","extractor","encoder","frame","Object","values","imports","canvas","hasRecorder","i","reservations","length","splice","poisoned","setupError","work","time","index","owned","decoded","decodeCompositionFrames","imported","key","previous","entries","producers","has","producerId","prepareFrame","currentTime","readback","pixels","draw","gpu","drawColor","Color","Clear","context","drawn","undefined","drained","encodeFrame","kind","nativeBuffer","pointer","readPixels","colorType","BGRA_8888","RGBA_8888","alphaType","Premul","releaseContext","ArrayBuffer","isView","byteLength","byteOffset","buffer","slice","data","bytesPerRow","framesCompleted","finishWriting","run","setup","allocateReadback","push","Surface","MakeOffscreen","createVideoEncoder","audioBitRate","audioSampleRate","audioChannelCount","prepare","probe","console","warn","String","createVideoCompositionFramesExtractorSync","start"],"sourceRoot":"../../src","sources":["exportVideoComposition.ts"],"mappings":";;AAAA,SACEA,gCAAgC,EAChCC,uBAAuB,QAClB,kBAAe;AACtB,SAASC,cAAc,QAAQ,aAAU;AACzC,SACEC,oBAAoB,EACpBC,oBAAoB,EACpBC,YAAY,EACZC,YAAY,QAEP,uBAAuB;AAC9B,SAASC,SAAS,EAAEC,SAAS,EAAEC,SAAS,EAAEC,IAAI,QAAQ,mBAAmB;AAEzE,SAASC,QAAQ,QAAQ,cAAc;AASvC,OAAOC,iBAAiB,MAAM,wBAAqB;AACnD,SACEC,qBAAqB,EACrBC,cAAc,EACdC,sBAAsB,QACjB,mBAAgB;AACvB,SACEC,aAAa,EACbC,kBAAkB,EAClBC,kBAAkB,QACb,aAAU;AACjB,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,kBAAe;AAC/D,SACEC,oBAAoB,EACpBC,mBAAmB,EACnBC,kBAAkB,EAClBC,kBAAkB,EAClBC,mBAAmB,EACnBC,kBAAkB,EAClBC,kBAAkB,EAClBC,oBAAoB,EACpBC,sBAAsB,QAGjB,mBAAgB;AACvB,SAASC,cAAc,QAAQ,mBAAgB;AAC/C,SACEC,wBAAwB,EACxBC,eAAe,EACfC,mBAAmB,QAEd,mBAAgB;;AAWvB;AACA;;AAQA;AACA;;AAyEA,IAAIC,aAAoC,GAAG,IAAI;AAC/C,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAC7B,IAAI,CAACD,aAAa,EAChBA,aAAa,GAAG/B,oBAAoB,CAAC;IAAEiC,IAAI,EAAE;EAA0B,CAAC,CAAC;EAC3E,OAAOF,aAAa;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMG,2BAA2B,GAAOC,EAAW,IAAQ;EACzD,SAAS;;EACT,OAAO,CACL1B,iBAAiB,CAAC2B,sBAAsB,KAAMC,IAAa,IAAKA,IAAI,CAAC,CAAC,CAAC,EACvEF,EAAE,CAAC;AACP,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMG,sBAAsB,GACjCC,IAA6B,IACXvB,aAAa,CAAC,MAAMwB,aAAa,CAACD,IAAI,CAAC,EAAEA,IAAI,CAACE,WAAW,CAAC;AAE9E,MAAMD,aAAa,GAAOD,IAA6B,IACrD,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;EAC/B,MAAM;IACJC,gBAAgB;IAChBC,SAAS;IACTC,eAAe;IACfC,cAAc;IACdC,UAAU;IACVR,WAAW;IACXS,oBAAoB;IACpBC,SAAS;IACT,GAAGC;EACL,CAAC,GAAGb,IAAI;EACR,IAAIE,WAAW,EAAEY,OAAO,EAAE;IACxBT,MAAM,CAAC3B,gBAAgB,CAACwB,WAAW,CAAC,CAAC;IACrC;EACF;EACA,IAAIa,KAAa;EACjB,IAAIC,QAAgB;EACpB,IAAI;IACFD,KAAK,GAAGzC,aAAa,CAACuC,OAAO,CAACI,KAAK,EAAEJ,OAAO,CAACK,MAAM,CAAC;IACpD,IACE,CAACC,MAAM,CAACC,QAAQ,CAACP,OAAO,CAACQ,SAAS,CAAC,IACnCR,OAAO,CAACQ,SAAS,IAAI,CAAC,IACtB,CAACF,MAAM,CAACC,QAAQ,CAACd,gBAAgB,CAACgB,QAAQ,CAAC,IAC3ChB,gBAAgB,CAACgB,QAAQ,IAAI,CAAC,IAC9B,CAACH,MAAM,CAACC,QAAQ,CAACP,OAAO,CAACU,OAAO,CAAC,IACjCV,OAAO,CAACU,OAAO,IAAI,CAAC,IACpB,CAACV,OAAO,CAACW,OAAO,EAChB;MACA,MAAM,IAAIC,KAAK,CAAC,8BAA8B,CAAC;IACjD;IACAT,QAAQ,GAAGU,IAAI,CAACC,IAAI,CAClBrB,gBAAgB,CAACgB,QAAQ,GAAGT,OAAO,CAACQ,SAAS,GAAG,IAClD,CAAC;IACD,IAAI,CAACF,MAAM,CAACS,aAAa,CAACZ,QAAQ,CAAC,IAAIA,QAAQ,IAAI,CAAC,EAClD,MAAM,IAAIS,KAAK,CAAC,4BAA4B,CAAC;EACjD,CAAC,CAAC,OAAOI,KAAK,EAAE;IACdxB,MAAM,CAACwB,KAAK,CAAC;IACb;EACF;EACA,MAAMC,SAAS,GAAGpE,oBAAoB,CAAC,KAAK,CAAC;EAC7C,MAAMqE,OAAO,GAAGA,CAAA,KAAMD,SAAS,CAACE,WAAW,CAAC,IAAI,CAAC;EACjD9B,WAAW,EAAE+B,gBAAgB,CAAC,OAAO,EAAEF,OAAO,CAAC;EAC/C;EACA;EACA,MAAMG,MAAM,GAAGA,CACbL,KAAc,EACdf,OAAgB,EAChBqB,MAAM,GAAGN,KAAK,KAAK,IAAI,KACpB;IACH3B,WAAW,EAAEkC,mBAAmB,CAAC,OAAO,EAAEL,OAAO,CAAC;IAClD,IAAIjB,OAAO,EAAET,MAAM,CAAC3B,gBAAgB,CAACwB,WAAW,CAAC,CAAC,CAAC,KAC9C,IAAIiC,MAAM,EAAE9B,MAAM,CAACwB,KAAK,CAAC,CAAC,KAC1BzB,OAAO,CAAC,CAAC;EAChB,CAAC;EACD,IAAIiC,OAAuB;EAC3B,IAAI;IACFA,OAAO,GAAG5C,gBAAgB,CAAC,CAAC;EAC9B,CAAC,CAAC,OAAOoC,KAAK,EAAE;IACdK,MAAM,CAACL,KAAK,EAAEC,SAAS,CAACQ,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;IAC5C;EACF;EACA,MAAMC,IAAI,GAAGtE,QAAQ,CAACuE,EAAE,KAAK,KAAK;EAClC;EACA,MAAMC,SAAS,GACbvE,iBAAiB,CAACwE,cAAc,GAAG,CAAC,EAAEC,eAAe,KAAK,IAAI;EAChE;EACA;EACA;EACA,MAAMC,IAAI,GAAGA,CAAA,KAAM;IACjB,IAAI;MACFjF,YAAY,CAAC0E,OAAO,EAAEQ,YAAY,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,OAAOhB,KAAK,EAAE;MACdK,MAAM,CAACL,KAAK,EAAEC,SAAS,CAACQ,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;IAC9C;EACF,CAAC;EACD,MAAMO,YAAY,GAAGA,CAAA,KAAM;IACzB,SAAS;;IACT,MAAMC,OAAO,GAAGC,UAEf;IACD,MAAMC,KAAK,GAAGF,OAAO,CAACG,gBAAgB;IACtC,IAAI,CAACD,KAAK,EAAE;MACVpF,YAAY,CAACsE,MAAM,EAAE,IAAIT,KAAK,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC;MAClE;IACF;IACA,MAAMyB,WAAW,GAAGA,CAAA,KAAM;MACxB,SAAS;;MACT,OAAOpB,SAAS,CAACQ,WAAW,CAAC,CAAC;IAChC,CAAC;IACD;IACA,MAAMa,OAAO,GAAGvC,SAAS,GACrB;MACEwC,MAAM,EAAE,CAAC;MACTC,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,CAAC;MACXC,QAAQ,EAAE,CAAC;MACXC,SAAS,EAAE,CAAC;MACZC,QAAQ,EAAE,CAAC;MACXC,MAAM,EAAE,CAAC;MACTC,KAAK,EAAE,CAAC;MACRC,QAAQ,EAAE,CAAC;MACXC,OAAO,EAAE;IACX,CAAC,GACD,IAAI;IACR,MAAMC,KAAK,GAAG;MAAEC,IAAI,EAAE,CAAC;IAAE,CAAC;IAC1B;IACA,MAAMC,GAAG,GACPC,KAAyD,IACtD;MACH,SAAS;;MACT,IAAI,CAACd,OAAO,EAAE;MACd,MAAMe,GAAG,GAAGC,WAAW,CAACD,GAAG,CAAC,CAAC;MAC7B,IAAIJ,KAAK,CAACC,IAAI,IAAI,CAAC,EAAEZ,OAAO,CAACc,KAAK,CAAC,IAAIC,GAAG,GAAGJ,KAAK,CAACC,IAAI;MACvDD,KAAK,CAACC,IAAI,GAAGG,GAAG;IAClB,CAAC;IACD;AACN;AACA;AACA;IACM,MAAME,gBAAgB,GAAGA,CAAA,KAAM;MAC7B,SAAS;;MACT,IAAI,CAACpB,KAAK,CAACqB,SAAS,EAAE;MACtBrB,KAAK,CAACsB,MAAM,CAAEC,KAAK,CAACvB,KAAK,CAACsB,MAAM,CAAEE,IAAI,CAAC,CAAEC,OAAO,CAAEC,KAAK,CAAC,IAAI,CAAC;MAC7D1B,KAAK,CAACqB,SAAS,GAAG,KAAK;IACzB,CAAC;IACD,MAAMM,MAAM,GAAG,MAAAA,CACb9C,KAAc,EACdf,OAAO,GAAG,KAAK,EACfqB,MAAM,GAAG,KAAK,KACX;MACH,SAAS;;MACT,MAAMyC,OAAO,GAAG;QAAEC,OAAO,EAAEhD,KAAK;QAAEM,MAAM;QAAE2C,aAAa,EAAE;MAAK,CAAC;MAC/D;MACA;MACA,MAAMC,KAAK,GAAInF,EAAc,IAAK;QAChC,SAAS;;QACT,IAAI;UACFD,2BAA2B,CAACC,EAAE,CAAC;UAC/B,OAAO,IAAI;QACb,CAAC,CAAC,OAAOoF,CAAC,EAAE;UACV,IAAI,CAACJ,OAAO,CAACzC,MAAM,EAAEyC,OAAO,CAACC,OAAO,GAAGG,CAAC;UACxCJ,OAAO,CAACzC,MAAM,GAAG,IAAI;UACrByC,OAAO,CAACE,aAAa,GAAG,KAAK;UAC7B,OAAO,KAAK;QACd;MACF,CAAC;MACD;MACA;MACAC,KAAK,CAACX,gBAAgB,CAAC;MACvBW,KAAK,CAAC,MAAM/B,KAAK,CAACyB,OAAO,EAAEC,KAAK,CAAC,IAAI,CAAC,CAAC;MACvCK,KAAK,CAAC,MAAM/B,KAAK,CAACiC,MAAM,EAAER,OAAO,EAAEC,KAAK,CAAC,IAAI,CAAC,CAAC;MAC/C,IAAIE,OAAO,CAACE,aAAa,IAAI9B,KAAK,CAACkC,gBAAgB,EAAE;QACnD,IAAIH,KAAK,CAAC/B,KAAK,CAACkC,gBAAgB,CAAC,EAAElC,KAAK,CAACkC,gBAAgB,GAAG,IAAI;MAClE;MACA,IAAIN,OAAO,CAACE,aAAa,EAAE;QACzB,IAAI;UACF,MAAM9B,KAAK,CAACmC,SAAS,EAAEC,OAAO,CAAC,CAAC;UAChCpC,KAAK,CAACmC,SAAS,GAAG,IAAI;QACxB,CAAC,CAAC,OAAOH,CAAC,EAAE;UACV,IAAI,CAACJ,OAAO,CAACzC,MAAM,EAAEyC,OAAO,CAACC,OAAO,GAAGG,CAAC;UACxCJ,OAAO,CAACzC,MAAM,GAAG,IAAI;UACrByC,OAAO,CAACE,aAAa,GAAG,KAAK;QAC/B;MACF;MACA,IAAIC,KAAK,CAAC,MAAM/B,KAAK,CAACqC,SAAS,EAAED,OAAO,CAAC,CAAC,CAAC,EAAEpC,KAAK,CAACqC,SAAS,GAAG,IAAI;MACnE;MACA;MACA,MAAMf,MAAM,GAAGtB,KAAK,CAACsB,MAAM;MAC3B,IAAIA,MAAM,EAAES,KAAK,CAAC,MAAMjG,kBAAkB,CAACwF,MAAM,CAAC,CAAC;MACnD,IAAIS,KAAK,CAAC,MAAM/B,KAAK,CAACsC,OAAO,EAAEF,OAAO,CAAC,CAAC,CAAC,EAAEpC,KAAK,CAACsC,OAAO,GAAG,IAAI;MAC/D,IAAIV,OAAO,CAACE,aAAa,EAAE;QACzBC,KAAK,CAAC,MAAM/B,KAAK,CAACyB,OAAO,EAAEC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvCK,KAAK,CAAC,MAAM/B,KAAK,CAACiC,MAAM,EAAER,OAAO,EAAEC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAIE,OAAO,CAACE,aAAa,EAAE;UACzB,KAAK,MAAMS,KAAK,IAAIC,MAAM,CAACC,MAAM,CAACzC,KAAK,CAACI,MAAM,CAAC,EAC7C2B,KAAK,CAAC,MAAMQ,KAAK,CAACH,OAAO,GAAG,CAAC,CAAC;UAChC,MAAMM,OAAO,GAAG1C,KAAK,CAAC0C,OAAO;UAC7B,IAAIA,OAAO,IAAIX,KAAK,CAAC,MAAMxF,mBAAmB,CAACmG,OAAO,CAAC,CAAC,EACtD1C,KAAK,CAAC0C,OAAO,GAAG,IAAI;UACtBX,KAAK,CAAC,MAAM5G,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC1C;QACA;QACA,IAAIyG,OAAO,CAACE,aAAa,IAAIC,KAAK,CAAC,MAAM/B,KAAK,CAACyB,OAAO,EAAEW,OAAO,CAAC,CAAC,CAAC,EAAE;UAClEpC,KAAK,CAACyB,OAAO,GAAG,IAAI;UACpBzB,KAAK,CAAC2C,MAAM,GAAG,IAAI;QACrB;QACA;QACA,IACEf,OAAO,CAACE,aAAa,IACrBR,MAAM,IACNS,KAAK,CAAC,MAAM7F,oBAAoB,CAACoF,MAAM,CAAC,CAAC,EACzC;UACAtB,KAAK,CAACsB,MAAM,GAAG,IAAI;UACnBtB,KAAK,CAACiC,MAAM,GAAG,IAAI;QACrB;QACA,MAAMA,MAAM,GAAGjC,KAAK,CAACiC,MAAM;QAC3B,IAAIL,OAAO,CAACE,aAAa,IAAIG,MAAM,EAAE;UACnC,IAAIF,KAAK,CAAC,MAAMlG,kBAAkB,CAACoG,MAAM,CAAC,CAAC,EAAEjC,KAAK,CAACiC,MAAM,GAAG,IAAI;QAClE;MACF;MACA;MACA;MACA;MACA,IAAIL,OAAO,CAACE,aAAa,IAAI9B,KAAK,CAAC4C,WAAW,EAAE;QAC9C,IAAIb,KAAK,CAACxH,uBAAuB,CAAC,EAAEyF,KAAK,CAAC4C,WAAW,GAAG,KAAK;MAC/D;MACA,IAAIhB,OAAO,CAACE,aAAa,EAAE;QACzB,KAAK,IAAIe,CAAC,GAAG7C,KAAK,CAAC8C,YAAY,CAACC,MAAM,GAAG,CAAC,EAAEF,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;UACvD,IAAId,KAAK,CAAC,MAAMxG,kBAAkB,CAACyE,KAAK,CAAC8C,YAAY,CAACD,CAAC,CAAE,CAAC,CAAC,EACzD7C,KAAK,CAAC8C,YAAY,CAACE,MAAM,CAACH,CAAC,EAAE,CAAC,CAAC;QACnC;MACF;MACA,IAAIjB,OAAO,CAACE,aAAa,EAAE;QACzB9B,KAAK,CAACI,MAAM,GAAG,CAAC,CAAC;QACjB,OAAON,OAAO,CAACG,gBAAgB;MACjC,CAAC,MAAM;QACL;QACA;QACAD,KAAK,CAACiD,QAAQ,GAAG,IAAI;QACrBjD,KAAK,CAACkD,UAAU,GAAGtB,OAAO,CAACC,OAAO;MACpC;MACAjH,YAAY,CACVsE,MAAM,EACN0C,OAAO,CAACC,OAAO,EACf/D,OAAO,IAAIoC,WAAW,CAAC,CAAC,EACxB0B,OAAO,CAACzC,MACV,CAAC;IACH,CAAC;IACD;IACA,MAAMgE,IAAI,GAAG,MAAAA,CAAA,KAA8B;MACzC,SAAS;;MACT,IAAI;QACF,IAAI,YAAY,IAAInD,KAAK,EAAE,MAAMA,KAAK,CAACkD,UAAU;QACjDlC,GAAG,CAAC,SAAS,CAAC;QACd,IAAId,WAAW,CAAC,CAAC,EAAE;UACjB,MAAMyB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;UACxB,OAAO,KAAK;QACd;QACA,MAAMyB,IAAI,GAAGpD,KAAK,CAACqD,KAAK,GAAGxF,OAAO,CAACQ,SAAS;QAC5C;QACA,MAAMiF,KAAK,GAAG3G,2BAA2B,CAAC,MAAM;UAC9C,MAAM4G,OAAO,GAAGvD,KAAK,CAACqC,SAAS,CAAEmB,uBAAuB,CAACJ,IAAI,CAAC;UAC9DpC,GAAG,CAAC,UAAU,CAAC;UACfI,gBAAgB,CAAC,CAAC;UAClBJ,GAAG,CAAC,OAAO,CAAC;UACZ,MAAM0B,OAAO,GAAG1C,KAAK,CAAC0C,OAAO;UAC7B;UACA,MAAMe,QAAQ,GAAGf,OAAO,GACpBpG,eAAe,CAACoG,OAAO,EAAEa,OAAO,EAAEnI,cAAc,CAAC,GACjDA,cAAc,CAACmI,OAAO,CAAC;UAC3B,KAAK,MAAM,CAACG,GAAG,EAAEC,QAAQ,CAAC,IAAInB,MAAM,CAACoB,OAAO,CAAC5D,KAAK,CAACI,MAAM,CAAC,EAAE;YAC1D,IAAIsC,OAAO,EAAEmB,SAAS,CAACC,GAAG,CAACH,QAAQ,CAACI,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE;YACvD,IACE,CAACN,QAAQ,CAACC,GAAG,CAAC,IACdD,QAAQ,CAACC,GAAG,CAAC,CAAEK,UAAU,KAAKJ,QAAQ,CAACI,UAAU,EAEjD1I,sBAAsB,CAACsI,QAAQ,CAAC;UACpC;UACA,OAAOF,QAAQ;QACjB,CAAC,CAAC;QACFzC,GAAG,CAAC,UAAU,CAAC;QACfhB,KAAK,CAACI,MAAM,GAAGkD,KAAK;QACpB,MAAMtD,KAAK,CAACmC,SAAS,EAAE6B,YAAY,CAAC;UAClC5D,MAAM,EAAEkD,KAAK;UACbW,WAAW,EAAEb,IAAI;UACjB9F,gBAAgB;UAChBW,KAAK,EAAEJ,OAAO,CAACI,KAAK;UACpBC,MAAM,EAAEL,OAAO,CAACK,MAAM;UACtBgC;QACF,CAAC,CAAC;QACFc,GAAG,CAAC,WAAW,CAAC;QAChB,IAAId,WAAW,CAAC,CAAC,EAAE;UACjB,MAAMyB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;UACxB,OAAO,KAAK;QACd;QACA;QACA,MAAMuC,QAEL,GAAG;UAAEC,MAAM,EAAE;QAAK,CAAC;QACpB,MAAMC,IAAI,GAAGA,CAAA,KAAM;UACjB,SAAS;;UACT,IAAIpE,KAAK,CAACqE,GAAG,EACXrE,KAAK,CAACiC,MAAM,GAAGjC,KAAK,CAACsB,MAAM,GACvB1F,mBAAmB,CAACoE,KAAK,CAACsB,MAAM,CAAC,GACjC3F,oBAAoB,CAClBqE,KAAK,CAACsC,OAAO,EACbzE,OAAO,CAACI,KAAK,EACbJ,OAAO,CAACK,MACV,CAAC;UACP8C,GAAG,CAAC,UAAU,CAAC;UACf,MAAMiB,MAAM,GAAGjC,KAAK,CAACiC,MAAM;UAC3B,MAAMR,OAAO,GAAGQ,MAAM,GAAGA,MAAM,CAACR,OAAO,GAAIzB,KAAK,CAACyB,OAAQ;UACzD,MAAMkB,MAAM,GAAGV,MAAM,GAAGA,MAAM,CAACU,MAAM,GAAI3C,KAAK,CAAC2C,MAAO;UACtDA,MAAM,CAAC2B,SAAS,CAACtJ,IAAI,CAACuJ,KAAK,CAAC,WAAW,CAAC,EAAEzJ,SAAS,CAAC0J,KAAK,CAAC;UAC1D,MAAMC,OAAO,GAAGjH,eAAe,GAAG,CAAM;UACxC,MAAMkH,KAAK,GAAG;YACZvF,MAAM,EAAE,KAAK;YACb0C,OAAO,EAAE8C,SAAoB;YAC7BC,OAAO,EAAE;UACX,CAAC;UACD,IAAI;YACFrH,SAAS,CAAC;cACRoF,MAAM;cACN8B,OAAO;cACPnH,gBAAgB;cAChB2G,WAAW,EAAEb,IAAI;cACjBhD,MAAM,EAAEkD,KAAK;cACbrF,KAAK,EAAEJ,OAAO,CAACI,KAAK;cACpBC,MAAM,EAAEL,OAAO,CAACK;YAClB,CAAC,CAAC;YACF8C,GAAG,CAAC,QAAQ,CAAC;YACb;YACA;YACA,MAAMK,SAAS,GACb,CAAC,CAACrB,KAAK,CAACsB,MAAM,IACd,CAAC,CAACW,MAAM,IACR,CAACxE,cAAc,IACf,CAACuC,KAAK,CAACmC,SAAS;YAClBV,OAAO,CAACC,KAAK,CAAC,CAACL,SAAS,CAAC;YACzBrB,KAAK,CAACqB,SAAS,GAAGA,SAAS;YAC3BqD,KAAK,CAACE,OAAO,GAAG,IAAI;YACpB5D,GAAG,CAAC,OAAO,CAAC;YACZ,IAAIiB,MAAM,IAAIjC,KAAK,CAACsB,MAAM,EAAE;cAC1BtB,KAAK,CAACiC,MAAM,GAAG,IAAI;cACnBlG,mBAAmB,CAACiE,KAAK,CAACsC,OAAO,EAAGtC,KAAK,CAACsB,MAAM,EAAEW,MAAM,EAAEmB,IAAI,CAAC;YACjE,CAAC,MAAM,IAAInB,MAAM,EAAE;cACjBpG,kBAAkB,CAACoG,MAAM,CAAC;cAC1BjC,KAAK,CAACiC,MAAM,GAAG,IAAI;cACnBjC,KAAK,CAACsC,OAAO,CAAEuC,WAAW,CACxB;gBAAEC,IAAI,EAAE,eAAe;gBAAEC,YAAY,EAAE9C,MAAM,CAAC+C;cAAQ,CAAC,EACvD5B,IACF,CAAC;YACH,CAAC,MAAM;cACL;cACA;cACAc,QAAQ,CAACC,MAAM,GAAGxB,MAAM,CAACsC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE;gBACxChH,KAAK,EAAEJ,OAAO,CAACI,KAAK;gBACpBC,MAAM,EAAEL,OAAO,CAACK,MAAM;gBACtBgH,SAAS,EAAE3F,IAAI,GAAGxE,SAAS,CAACoK,SAAS,GAAGpK,SAAS,CAACqK,SAAS;gBAC3DC,SAAS,EAAExK,SAAS,CAACyK;cACvB,CAAC,CAAC;YACJ;YACAtE,GAAG,CAAC,UAAU,CAAC;UACjB,CAAC,CAAC,OAAOnC,KAAK,EAAE;YACd6F,KAAK,CAACvF,MAAM,GAAG,IAAI;YACnBuF,KAAK,CAAC7C,OAAO,GAAGhD,KAAK;UACvB,CAAC,SAAS;YACR,IAAIpB,cAAc,EAAE;cAClB;cACA;cACA;cACA,IAAI,CAACiH,KAAK,CAACE,OAAO,EAAE;gBAClB,IAAI;kBACFnD,OAAO,CAACC,KAAK,CAAC,IAAI,CAAC;kBACnBgD,KAAK,CAACE,OAAO,GAAG,IAAI;gBACtB,CAAC,CAAC,OAAO/F,KAAK,EAAE;kBACd,IAAI,CAAC6F,KAAK,CAACvF,MAAM,EAAEuF,KAAK,CAAC7C,OAAO,GAAGhD,KAAK;kBACxC6F,KAAK,CAACvF,MAAM,GAAG,IAAI;gBACrB;cACF;cACA,MAAMoG,cAAc,GAAGA,CAAA,KAAM;gBAC3B,SAAS;;gBACT9H,cAAc,CAACgH,OAAO,CAAC;cACzB,CAAC;cACD,IAAIC,KAAK,CAACE,OAAO,EAAE;gBACjB,IAAI;kBACFW,cAAc,CAAC,CAAC;gBAClB,CAAC,CAAC,OAAO1G,KAAK,EAAE;kBACd,IAAI,CAAC6F,KAAK,CAACvF,MAAM,EAAEuF,KAAK,CAAC7C,OAAO,GAAGhD,KAAK;kBACxC6F,KAAK,CAACvF,MAAM,GAAG,IAAI;gBACrB;cACF,CAAC,MAAMa,KAAK,CAACkC,gBAAgB,GAAGqD,cAAc;YAChD;UACF;UACA,IAAIb,KAAK,CAACvF,MAAM,EAAE,MAAMuF,KAAK,CAAC7C,OAAO;QACvC,CAAC;QACDlF,2BAA2B,CAACyH,IAAI,CAAC;QACjC,IAAIF,QAAQ,CAACC,MAAM,EAAE;UACnB,MAAMA,MAAM,GAAG,MAAMD,QAAQ,CAACC,MAAM;UACpCnD,GAAG,CAAC,OAAO,CAAC;UACZ;UACA,IAAI,CAACwE,WAAW,CAACC,MAAM,CAACtB,MAAM,CAAC,IAAIA,MAAM,CAACuB,UAAU,KAAK3H,KAAK,EAC5D,MAAM,IAAIU,KAAK,CAAC,oCAAoC,CAAC;UACvD;UACA,MAAMqB,OAAO,GACXqE,MAAM,CAACwB,UAAU,KAAK,CAAC,IACvBxB,MAAM,CAACyB,MAAM,CAACF,UAAU,KAAKvB,MAAM,CAACuB,UAAU,GAC1CvB,MAAM,CAACyB,MAAM,GACbzB,MAAM,CAACyB,MAAM,CAACC,KAAK,CACjB1B,MAAM,CAACwB,UAAU,EACjBxB,MAAM,CAACwB,UAAU,GAAGxB,MAAM,CAACuB,UAC7B,CAAC;UACP/I,2BAA2B,CAAC,MAC1BqD,KAAK,CAACsC,OAAO,CAAEuC,WAAW,CACxB;YACEC,IAAI,EAAEvF,IAAI,GAAG,MAAM,GAAG,MAAM;YAC5BuG,IAAI,EAAEhG,OAAO;YACb7B,KAAK,EAAEJ,OAAO,CAACI,KAAK;YACpBC,MAAM,EAAEL,OAAO,CAACK,MAAM;YACtB6H,WAAW,EAAElI,OAAO,CAACI,KAAK,GAAG;UAC/B,CAAC,EACDmF,IACF,CACF,CAAC;UACDpC,GAAG,CAAC,UAAU,CAAC;QACjB;QACAhB,KAAK,CAACqD,KAAK,EAAE;QACb,IAAI3F,UAAU,EACZ9C,YAAY,CAAC8C,UAAU,EAAE;UACvBsI,eAAe,EAAEhG,KAAK,CAACqD,KAAK;UAC5BrF;QACF,CAAC,CAAC;QACJgD,GAAG,CAAC,QAAQ,CAAC;QACb,IAAId,WAAW,CAAC,CAAC,EAAE;UACjB,MAAMyB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;UACxB,OAAO,KAAK;QACd;QACA,IAAI3B,KAAK,CAACqD,KAAK,KAAKrF,QAAQ,EAAE;UAC5BrB,2BAA2B,CAAC,MAAMqD,KAAK,CAACsC,OAAO,CAAE2D,aAAa,CAAC,CAAC,CAAC;UACjEjF,GAAG,CAAC,UAAU,CAAC;UACf,IAAIb,OAAO,IAAIvC,SAAS,EAAE;YACxBuC,OAAO,CAACC,MAAM,GAAGJ,KAAK,CAACqD,KAAK;YAC5BlD,OAAO,CAACE,OAAO,GACbF,OAAO,CAACG,QAAQ,GAChBH,OAAO,CAACI,QAAQ,GAChBJ,OAAO,CAACK,SAAS,GACjBL,OAAO,CAACM,QAAQ,GAChBN,OAAO,CAACO,MAAM,GACdP,OAAO,CAACQ,KAAK,GACbR,OAAO,CAACS,QAAQ,GAChBT,OAAO,CAACU,OAAO;YACjB;YACAjG,YAAY,CAACgD,SAAS,EAAE;cAAE,GAAGuC;YAAQ,CAAC,CAAC;UACzC;UACA,MAAMwB,MAAM,CAAC,IAAI,CAAC;UAClB,OAAO,KAAK;QACd;QACA,OAAO,IAAI;MACb,CAAC,CAAC,OAAO9C,KAAK,EAAE;QACd,MAAM8C,MAAM,CAAC9C,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;QAChC,OAAO,KAAK;MACd;IACF,CAAC;IACD,MAAMqH,GAAG,GAAG,MAAAA,CAAA,KAAY;MACtB,SAAS;;MACT;MACA;MACA,OAAO,MAAM/C,IAAI,CAAC,CAAC,EACjB,MAAM,IAAIhG,OAAO,CAAQC,OAAO,IAAKhB,cAAc,CAACgB,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,KAAK8I,GAAG,CAAC,CAAC;EACZ,CAAC;EACD,IAAI;IACFvL,YAAY,CAAC0E,OAAO,EAAE,MAAM;MAC1B,SAAS;;MACT,MAAMS,OAAO,GAAGC,UAEf;MACD,IAAID,OAAO,CAACG,gBAAgB,EAAE;QAC5BrF,YAAY,CACVsE,MAAM,EACN,IAAIT,KAAK,CACP,gHACF,CAAC,EACD,KACF,CAAC;QACD;MACF;MACA,MAAMuB,KAAkB,GAAG;QACzBsC,OAAO,EAAE,IAAI;QACbD,SAAS,EAAE,IAAI;QACfZ,OAAO,EAAE,IAAI;QACbkB,MAAM,EAAE,IAAI;QACZ0B,GAAG,EAAE,KAAK;QACVpC,MAAM,EAAE,IAAI;QACZX,MAAM,EAAE,IAAI;QACZoB,OAAO,EAAE,IAAI;QACbtC,MAAM,EAAE,CAAC,CAAC;QACV+B,SAAS,EAAE,IAAI;QACfD,gBAAgB,EAAE,IAAI;QACtBY,YAAY,EAAE,EAAE;QAChBO,KAAK,EAAE;MACT,CAAC;MACDvD,OAAO,CAACG,gBAAgB,GAAGD,KAAK;MAChC,MAAMmG,KAAK,GAAG,MAAAA,CAAA,KAAY;QACxB,SAAS;;QACT,IAAI;UACF,IAAIrH,SAAS,CAACQ,WAAW,CAAC,CAAC,EAAE;YAC3B1E,YAAY,CAACgF,IAAI,CAAC;YAClB;UACF;UACAjD,2BAA2B,CAAC,MAAM;YAChCrC,gCAAgC,CAAC,CAAC;YAClC,MAAM8L,gBAAgB,GAAGA,CAAA,KAAM;cAC7B;cACA;cACApG,KAAK,CAAC8C,YAAY,CAACuD,IAAI,CACrB7K,kBAAkB,CAACuC,KAAK,EAAE,sBAAsB,CAClD,CAAC;cACDiC,KAAK,CAAC8C,YAAY,CAACuD,IAAI,CACrB7K,kBAAkB,CAChBuC,KAAK,GAAG,CAAC,EACT,sCACF,CACF,CAAC;cACDiC,KAAK,CAAC4C,WAAW,GAAG,IAAI;cACxB5C,KAAK,CAACyB,OAAO,GAAGzG,IAAI,CAACsL,OAAO,CAACC,aAAa,CACxC1I,OAAO,CAACI,KAAK,EACbJ,OAAO,CAACK,MACV,CAAC;cACD,IAAI,CAAC8B,KAAK,CAACyB,OAAO,EAChB,MAAM,IAAIhD,KAAK,CAAC,gCAAgC,CAAC;cACnDuB,KAAK,CAAC2C,MAAM,GAAGnI,cAAc,CAACwF,KAAK,CAACyB,OAAO,CAAC;YAC9C,CAAC;YACD,IAAI,CAAChC,SAAS,EAAE2G,gBAAgB,CAAC,CAAC;YAClCpG,KAAK,CAACsC,OAAO,GAAGpH,iBAAiB,CAACsL,kBAAkB,CAClD;cACE,GAAG3I,OAAO;cACV4I,YAAY,EAAE5I,OAAO,CAAC4I,YAAY,IAAI,MAAM;cAC5CC,eAAe,EAAE7I,OAAO,CAAC6I,eAAe,IAAI,KAAK;cACjDC,iBAAiB,EAAE9I,OAAO,CAAC8I,iBAAiB,IAAI;YAClD,CAAC,EACDrJ,gBACF,CAAC;YACD0C,KAAK,CAACsC,OAAO,CAACsE,OAAO,CAAC,CAAC;YACvB,IAAInH,SAAS,EAAE;cACb;cACA;cACA;cACAO,KAAK,CAAC4C,WAAW,GAAG,IAAI;cACxB,IAAIf,OAAgB;cACpB,IAAItC,IAAI,EAAE;gBACRsC,OAAO,GAAG1F,sBAAsB,CAAC6D,KAAK,CAACsC,OAAO,CAAC,GAC3CtG,kBAAkB,CAChBgE,KAAK,CAACsC,OAAO,EACbzE,OAAO,CAACI,KAAK,EACbJ,OAAO,CAACK,MACV,CAAC,GACD,IAAIO,KAAK,CAAC,mCAAmC,CAAC;cACpD,CAAC,MAAM;gBACL,MAAMoI,KAAK,GAAG5K,kBAAkB,CAC9B+D,KAAK,CAACsC,OAAO,EACbzE,OAAO,CAACI,KAAK,EACbJ,OAAO,CAACK,MACV,CAAC;gBACD8B,KAAK,CAACsB,MAAM,GAAGuF,KAAK,CAACvF,MAAM;gBAC3BO,OAAO,GAAGgF,KAAK,CAAChF,OAAO;cACzB;cACA7B,KAAK,CAACqE,GAAG,GAAGxC,OAAO,KAAK,IAAI;cAC5B;cACA;cACA,IAAI7B,KAAK,CAACqE,GAAG,EAAErE,KAAK,CAAC0C,OAAO,GAAGrG,wBAAwB,CAAC,CAAC;cACzD,IAAI,CAAC2D,KAAK,CAACqE,GAAG,EAAE;gBACdyC,OAAO,CAACC,IAAI,CACV,8EAA8E,EAC9EC,MAAM,CAACnF,OAAO,CAChB,CAAC;gBACDuE,gBAAgB,CAAC,CAAC;cACpB;YACF;YACApG,KAAK,CAACqC,SAAS,GACbnH,iBAAiB,CAAC+L,yCAAyC,CACzD3J,gBACF,CAAC;YACH0C,KAAK,CAACqC,SAAS,CAAC6E,KAAK,CAAC,CAAC;UACzB,CAAC,CAAC;UACFlH,KAAK,CAACmC,SAAS,GACb,CAAC,MAAMxE,oBAAoB,GAAG;YAC5BM,KAAK,EAAEJ,OAAO,CAACI,KAAK;YACpBC,MAAM,EAAEL,OAAO,CAACK,MAAM;YACtBZ,gBAAgB;YAChB4C,WAAW,EAAEA,CAAA,KAAM;cACjB,SAAS;;cACT,OAAOpB,SAAS,CAACQ,WAAW,CAAC,CAAC;YAChC;UACF,CAAC,CAAC,KAAK,IAAI;QACf,CAAC,CAAC,OAAOT,KAAK,EAAE;UACd;UACAmB,KAAK,CAACkD,UAAU,GAAGrE,KAAK;QAC1B;QACAjE,YAAY,CAACgF,IAAI,CAAC;MACpB,CAAC;MACD,KAAKuG,KAAK,CAAC,CAAC;IACd,CAAC,CAAC,CAAC,CAAC;EACN,CAAC,CAAC,OAAOtH,KAAK,EAAE;IACdK,MAAM,CAACL,KAAK,EAAEC,SAAS,CAACQ,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;EAC9C;AACF,CAAC,CAAC","ignoreList":[]}
|