@osmo.inc/cli 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (943) hide show
  1. package/DEPLOY.md +62 -16
  2. package/README.md +31 -15
  3. package/SETUP.md +19 -7
  4. package/THIRD_PARTY_NOTICES.md +5 -16
  5. package/bin/osmo.mjs +12 -0
  6. package/dist/osmo.js +2500 -8905
  7. package/package.json +13 -26
  8. package/release.json +49 -84
  9. package/third-party/inventory.json +0 -3601
  10. package/node_modules/@esbuild/darwin-arm64/README.md +0 -3
  11. package/node_modules/@esbuild/darwin-arm64/bin/esbuild +0 -0
  12. package/node_modules/@esbuild/darwin-arm64/package.json +0 -20
  13. package/node_modules/esbuild/LICENSE.md +0 -21
  14. package/node_modules/esbuild/README.md +0 -3
  15. package/node_modules/esbuild/bin/esbuild +0 -223
  16. package/node_modules/esbuild/install.js +0 -289
  17. package/node_modules/esbuild/lib/main.d.ts +0 -716
  18. package/node_modules/esbuild/lib/main.js +0 -2532
  19. package/node_modules/esbuild/package.json +0 -49
  20. package/node_modules/typescript/LICENSE.txt +0 -55
  21. package/node_modules/typescript/ThirdPartyNoticeText.txt +0 -193
  22. package/node_modules/typescript/lib/lib.d.ts +0 -22
  23. package/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  24. package/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  25. package/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  26. package/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  27. package/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  28. package/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  29. package/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  30. package/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  31. package/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  32. package/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  33. package/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  34. package/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  35. package/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  36. package/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  37. package/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  38. package/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  39. package/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  40. package/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  41. package/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  42. package/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  43. package/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  44. package/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  45. package/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  46. package/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  47. package/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  48. package/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  49. package/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  50. package/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  51. package/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  52. package/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  53. package/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  54. package/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  55. package/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  56. package/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  57. package/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  58. package/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  59. package/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  60. package/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  61. package/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  62. package/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  63. package/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  64. package/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  65. package/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  66. package/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  67. package/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  68. package/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  69. package/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  70. package/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  71. package/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  72. package/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  73. package/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  74. package/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  75. package/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  76. package/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  77. package/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  78. package/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  79. package/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  80. package/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  81. package/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  82. package/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  83. package/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  84. package/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  85. package/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  86. package/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  87. package/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  88. package/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  89. package/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  90. package/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  91. package/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  92. package/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  93. package/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  94. package/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  95. package/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  96. package/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  97. package/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  98. package/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  99. package/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  100. package/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  101. package/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  102. package/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  103. package/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  104. package/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  105. package/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  106. package/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  107. package/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  108. package/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  109. package/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  110. package/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  111. package/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  112. package/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  113. package/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  114. package/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  115. package/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  116. package/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  117. package/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  118. package/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  119. package/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  120. package/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  121. package/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  122. package/node_modules/typescript/lib/typescript.js +0 -382
  123. package/node_modules/typescript/package.json +0 -57
  124. package/runtime/apps/native/tools/compile.mjs +0 -217
  125. package/runtime/packages/scene/scripts/validate-strict.mjs +0 -246
  126. package/runtime/packages/scene/src/clip.d.mts +0 -14
  127. package/runtime/packages/scene/src/clip.mjs +0 -15
  128. package/runtime/packages/scene/src/color-value.d.mts +0 -5
  129. package/runtime/packages/scene/src/color-value.mjs +0 -19
  130. package/runtime/packages/scene/src/color.ts +0 -1
  131. package/runtime/packages/scene/src/effects.ts +0 -213
  132. package/runtime/packages/scene/src/elements.ts +0 -491
  133. package/runtime/packages/scene/src/evaluate.ts +0 -919
  134. package/runtime/packages/scene/src/index.ts +0 -69
  135. package/runtime/packages/scene/src/jsx-runtime.ts +0 -73
  136. package/runtime/packages/scene/src/knob-schema.ts +0 -115
  137. package/runtime/packages/scene/src/knobs.ts +0 -118
  138. package/runtime/packages/scene/src/mask.d.mts +0 -6
  139. package/runtime/packages/scene/src/mask.mjs +0 -17
  140. package/runtime/packages/scene/src/metadata.d.mts +0 -23
  141. package/runtime/packages/scene/src/metadata.mjs +0 -44
  142. package/runtime/packages/scene/src/motion-sampling.d.mts +0 -2
  143. package/runtime/packages/scene/src/motion-sampling.mjs +0 -50
  144. package/runtime/packages/scene/src/motion.ts +0 -121
  145. package/runtime/packages/scene/src/shader.ts +0 -57
  146. package/src/resource-examples/example-image/landscape.svg +0 -7
  147. package/src/resource-examples/example-image/resource.json +0 -8
  148. package/src/resource-examples/example-model/gem.glb +0 -0
  149. package/src/resource-examples/example-model/preview.svg +0 -1
  150. package/src/resource-examples/example-model/resource.json +0 -7
  151. package/src/resource-examples/example-scene/resource.json +0 -1
  152. package/src/resource-examples/example-scene/scene.tsx +0 -8
  153. package/src/resource-examples/example-shader/effect.wgsl +0 -7
  154. package/src/resource-examples/example-shader/preview.svg +0 -1
  155. package/src/resource-examples/example-shader/resource.json +0 -27
  156. package/src/resource-examples/example-shader/tint.wgsl +0 -7
  157. package/src/resource-examples/example-video/ambient.mp4 +0 -0
  158. package/src/resource-examples/example-video/resource.json +0 -9
  159. package/src/starter/scene.tsx +0 -20
  160. package/studio/index.html +0 -2
  161. package/studio/public/check-circle-filled.svg +0 -3
  162. package/studio/public/comment-cursor/active-outer.svg +0 -3
  163. package/studio/public/comment-cursor/default.svg +0 -6
  164. package/studio/public/osmo-studio-logo.svg +0 -12
  165. package/studio/public/pencil-simple.svg +0 -5
  166. package/studio/src/active-outer-TVYUEURE.svg +0 -3
  167. package/studio/src/app.css +0 -4
  168. package/studio/src/app.js +0 -714
  169. package/studio/src/default-6CTRH4V5.svg +0 -6
  170. package/studio/src/engine_bg.wasm +0 -0
  171. package/studio/src/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2 +0 -0
  172. package/studio/src/inter-cyrillic-wght-normal-JEOLYBOO.woff2 +0 -0
  173. package/studio/src/inter-greek-ext-wght-normal-EOVOK2B5.woff2 +0 -0
  174. package/studio/src/inter-greek-wght-normal-IRE366VL.woff2 +0 -0
  175. package/studio/src/inter-latin-ext-wght-normal-HA22NDSG.woff2 +0 -0
  176. package/studio/src/inter-latin-wght-normal-NRMW37G5.woff2 +0 -0
  177. package/studio/src/inter-vietnamese-wght-normal-CE5GGD3W.woff2 +0 -0
  178. package/studio/src/osmo-studio-logo-D5R2V77B.svg +0 -12
  179. package/third-party/cargo/adler2@2.0.1/Cargo.toml +0 -91
  180. package/third-party/cargo/adler2@2.0.1/LICENSE-0BSD +0 -12
  181. package/third-party/cargo/adler2@2.0.1/LICENSE-APACHE +0 -201
  182. package/third-party/cargo/adler2@2.0.1/LICENSE-MIT +0 -23
  183. package/third-party/cargo/allocator-api2@0.2.21/Cargo.toml +0 -48
  184. package/third-party/cargo/allocator-api2@0.2.21/LICENSE-APACHE +0 -176
  185. package/third-party/cargo/allocator-api2@0.2.21/LICENSE-MIT +0 -23
  186. package/third-party/cargo/arrayref@0.3.9/Cargo.toml +0 -23
  187. package/third-party/cargo/arrayref@0.3.9/LICENSE +0 -26
  188. package/third-party/cargo/arrayvec@0.7.8/Cargo.toml +0 -112
  189. package/third-party/cargo/arrayvec@0.7.8/LICENSE-APACHE +0 -201
  190. package/third-party/cargo/arrayvec@0.7.8/LICENSE-MIT +0 -25
  191. package/third-party/cargo/ascii@1.1.0/Cargo.toml +0 -41
  192. package/third-party/cargo/ascii@1.1.0/LICENSE-APACHE +0 -201
  193. package/third-party/cargo/ascii@1.1.0/LICENSE-MIT +0 -22
  194. package/third-party/cargo/ash@0.38.0+1.3.281/Cargo.toml +0 -66
  195. package/third-party/cargo/ash@0.38.0+1.3.281/LICENSE-APACHE +0 -67
  196. package/third-party/cargo/ash@0.38.0+1.3.281/LICENSE-MIT +0 -25
  197. package/third-party/cargo/autocfg@1.5.1/Cargo.toml +0 -75
  198. package/third-party/cargo/autocfg@1.5.1/LICENSE-APACHE +0 -201
  199. package/third-party/cargo/autocfg@1.5.1/LICENSE-MIT +0 -25
  200. package/third-party/cargo/base64@0.13.1/Cargo.toml +0 -53
  201. package/third-party/cargo/base64@0.13.1/LICENSE-APACHE +0 -201
  202. package/third-party/cargo/base64@0.13.1/LICENSE-MIT +0 -21
  203. package/third-party/cargo/base64@0.22.1/Cargo.toml +0 -85
  204. package/third-party/cargo/base64@0.22.1/LICENSE-APACHE +0 -201
  205. package/third-party/cargo/base64@0.22.1/LICENSE-MIT +0 -21
  206. package/third-party/cargo/bit-set@0.10.0/Cargo.toml +0 -108
  207. package/third-party/cargo/bit-set@0.10.0/LICENSE-APACHE +0 -201
  208. package/third-party/cargo/bit-set@0.10.0/LICENSE-MIT +0 -25
  209. package/third-party/cargo/bit-vec@0.9.1/Cargo.toml +0 -94
  210. package/third-party/cargo/bit-vec@0.9.1/LICENSE-APACHE +0 -201
  211. package/third-party/cargo/bit-vec@0.9.1/LICENSE-MIT +0 -25
  212. package/third-party/cargo/bitflags@2.13.0/Cargo.toml +0 -120
  213. package/third-party/cargo/bitflags@2.13.0/LICENSE-APACHE +0 -201
  214. package/third-party/cargo/bitflags@2.13.0/LICENSE-MIT +0 -25
  215. package/third-party/cargo/block2@0.6.2/Cargo.toml +0 -115
  216. package/third-party/cargo/block2@0.6.2/MIT-terms.txt +0 -22
  217. package/third-party/cargo/block2@0.6.2/madsmtm-objc2-b4167b582b2f-LICENSE.md +0 -34
  218. package/third-party/cargo/bumpalo@3.20.3/Cargo.toml +0 -99
  219. package/third-party/cargo/bumpalo@3.20.3/LICENSE-APACHE +0 -201
  220. package/third-party/cargo/bumpalo@3.20.3/LICENSE-MIT +0 -25
  221. package/third-party/cargo/bytemuck@1.25.1/Cargo.toml +0 -153
  222. package/third-party/cargo/bytemuck@1.25.1/LICENSE-APACHE +0 -61
  223. package/third-party/cargo/bytemuck@1.25.1/LICENSE-MIT +0 -9
  224. package/third-party/cargo/bytemuck@1.25.1/LICENSE-ZLIB +0 -11
  225. package/third-party/cargo/bytemuck_derive@1.11.0/Cargo.toml +0 -60
  226. package/third-party/cargo/bytemuck_derive@1.11.0/LICENSE-APACHE +0 -61
  227. package/third-party/cargo/bytemuck_derive@1.11.0/LICENSE-MIT +0 -9
  228. package/third-party/cargo/bytemuck_derive@1.11.0/LICENSE-ZLIB +0 -11
  229. package/third-party/cargo/byteorder-lite@0.1.0/Cargo.toml +0 -57
  230. package/third-party/cargo/byteorder-lite@0.1.0/LICENSE-MIT +0 -21
  231. package/third-party/cargo/byteorder-lite@0.1.0/UNLICENSE +0 -24
  232. package/third-party/cargo/byteorder@1.5.0/COPYING +0 -3
  233. package/third-party/cargo/byteorder@1.5.0/Cargo.toml +0 -54
  234. package/third-party/cargo/byteorder@1.5.0/LICENSE-MIT +0 -21
  235. package/third-party/cargo/byteorder@1.5.0/UNLICENSE +0 -24
  236. package/third-party/cargo/cfg-if@1.0.4/Cargo.toml +0 -47
  237. package/third-party/cargo/cfg-if@1.0.4/LICENSE-APACHE +0 -201
  238. package/third-party/cargo/cfg-if@1.0.4/LICENSE-MIT +0 -25
  239. package/third-party/cargo/cfg_aliases@0.2.1/Cargo.toml +0 -43
  240. package/third-party/cargo/cfg_aliases@0.2.1/LICENSE +0 -9
  241. package/third-party/cargo/chunked_transfer@1.5.0/Cargo.toml +0 -27
  242. package/third-party/cargo/chunked_transfer@1.5.0/LICENSE-APACHE +0 -201
  243. package/third-party/cargo/chunked_transfer@1.5.0/LICENSE-MIT +0 -22
  244. package/third-party/cargo/codespan-reporting@0.13.1/Cargo.toml +0 -115
  245. package/third-party/cargo/codespan-reporting@0.13.1/LICENSE +0 -201
  246. package/third-party/cargo/color_quant@1.1.0/Cargo.toml +0 -20
  247. package/third-party/cargo/color_quant@1.1.0/LICENSE +0 -21
  248. package/third-party/cargo/console_error_panic_hook@0.1.7/Cargo.toml +0 -27
  249. package/third-party/cargo/console_error_panic_hook@0.1.7/LICENSE-APACHE +0 -201
  250. package/third-party/cargo/console_error_panic_hook@0.1.7/LICENSE-MIT +0 -25
  251. package/third-party/cargo/core_maths@0.1.1/Cargo.toml +0 -37
  252. package/third-party/cargo/core_maths@0.1.1/LICENSE +0 -21
  253. package/third-party/cargo/cosmic-text@0.19.0/Cargo.toml +0 -214
  254. package/third-party/cargo/cosmic-text@0.19.0/LICENSE-APACHE +0 -201
  255. package/third-party/cargo/cosmic-text@0.19.0/LICENSE-MIT +0 -21
  256. package/third-party/cargo/crc32fast@1.5.0/Cargo.toml +0 -68
  257. package/third-party/cargo/crc32fast@1.5.0/LICENSE-APACHE +0 -202
  258. package/third-party/cargo/crc32fast@1.5.0/LICENSE-MIT +0 -21
  259. package/third-party/cargo/data-url@0.3.2/Cargo.toml +0 -63
  260. package/third-party/cargo/data-url@0.3.2/LICENSE-APACHE +0 -201
  261. package/third-party/cargo/data-url@0.3.2/LICENSE-MIT +0 -25
  262. package/third-party/cargo/dispatch2@0.3.1/Cargo.toml +0 -122
  263. package/third-party/cargo/dispatch2@0.3.1/MIT-terms.txt +0 -22
  264. package/third-party/cargo/dispatch2@0.3.1/madsmtm-objc2-8852b424193c-LICENSE.md +0 -34
  265. package/third-party/cargo/dlib@0.5.3/Cargo.toml +0 -43
  266. package/third-party/cargo/dlib@0.5.3/LICENSE.txt +0 -19
  267. package/third-party/cargo/document-features@0.2.12/Cargo.toml +0 -51
  268. package/third-party/cargo/document-features@0.2.12/LICENSE-APACHE +0 -73
  269. package/third-party/cargo/document-features@0.2.12/LICENSE-MIT +0 -19
  270. package/third-party/cargo/equivalent@1.0.2/Cargo.toml +0 -37
  271. package/third-party/cargo/equivalent@1.0.2/LICENSE-APACHE +0 -201
  272. package/third-party/cargo/equivalent@1.0.2/LICENSE-MIT +0 -25
  273. package/third-party/cargo/errno@0.3.14/Cargo.toml +0 -67
  274. package/third-party/cargo/errno@0.3.14/LICENSE-APACHE +0 -201
  275. package/third-party/cargo/errno@0.3.14/LICENSE-MIT +0 -25
  276. package/third-party/cargo/etagere@0.3.0/Cargo.toml +0 -57
  277. package/third-party/cargo/etagere@0.3.0/LICENSE-APACHE +0 -13
  278. package/third-party/cargo/etagere@0.3.0/LICENSE-MIT +0 -20
  279. package/third-party/cargo/euclid@0.22.14/COPYRIGHT +0 -5
  280. package/third-party/cargo/euclid@0.22.14/Cargo.toml +0 -66
  281. package/third-party/cargo/euclid@0.22.14/LICENSE-APACHE +0 -201
  282. package/third-party/cargo/euclid@0.22.14/LICENSE-MIT +0 -25
  283. package/third-party/cargo/fastrand@2.5.0/Cargo.toml +0 -89
  284. package/third-party/cargo/fastrand@2.5.0/LICENSE-APACHE +0 -201
  285. package/third-party/cargo/fastrand@2.5.0/LICENSE-MIT +0 -23
  286. package/third-party/cargo/fdeflate@0.3.7/Cargo.toml +0 -55
  287. package/third-party/cargo/fdeflate@0.3.7/LICENSE-APACHE +0 -177
  288. package/third-party/cargo/fdeflate@0.3.7/LICENSE-MIT +0 -25
  289. package/third-party/cargo/flate2@1.1.9/Cargo.toml +0 -274
  290. package/third-party/cargo/flate2@1.1.9/LICENSE-APACHE +0 -201
  291. package/third-party/cargo/flate2@1.1.9/LICENSE-MIT +0 -25
  292. package/third-party/cargo/float-cmp@0.9.0/Cargo.toml +0 -39
  293. package/third-party/cargo/float-cmp@0.9.0/LICENSE +0 -19
  294. package/third-party/cargo/float_next_after@1.0.0/Cargo.toml +0 -43
  295. package/third-party/cargo/float_next_after@1.0.0/LICENSE +0 -23
  296. package/third-party/cargo/foldhash@0.2.0/Cargo.toml +0 -80
  297. package/third-party/cargo/foldhash@0.2.0/LICENSE +0 -19
  298. package/third-party/cargo/font-types@0.11.3/Cargo.toml +0 -55
  299. package/third-party/cargo/font-types@0.11.3/LICENSE-APACHE +0 -67
  300. package/third-party/cargo/font-types@0.11.3/LICENSE-MIT +0 -25
  301. package/third-party/cargo/fontdb@0.23.0/Cargo.toml +0 -83
  302. package/third-party/cargo/fontdb@0.23.0/LICENSE +0 -21
  303. package/third-party/cargo/futures-core@0.3.32/Cargo.toml +0 -66
  304. package/third-party/cargo/futures-core@0.3.32/LICENSE-APACHE +0 -202
  305. package/third-party/cargo/futures-core@0.3.32/LICENSE-MIT +0 -26
  306. package/third-party/cargo/futures-task@0.3.32/Cargo.toml +0 -58
  307. package/third-party/cargo/futures-task@0.3.32/LICENSE-APACHE +0 -202
  308. package/third-party/cargo/futures-task@0.3.32/LICENSE-MIT +0 -26
  309. package/third-party/cargo/futures-util@0.3.32/Cargo.toml +0 -181
  310. package/third-party/cargo/futures-util@0.3.32/LICENSE-APACHE +0 -202
  311. package/third-party/cargo/futures-util@0.3.32/LICENSE-MIT +0 -26
  312. package/third-party/cargo/getrandom@0.4.3/Cargo.toml +0 -165
  313. package/third-party/cargo/getrandom@0.4.3/LICENSE-APACHE +0 -201
  314. package/third-party/cargo/getrandom@0.4.3/LICENSE-MIT +0 -26
  315. package/third-party/cargo/gif@0.14.2/Cargo.toml +0 -84
  316. package/third-party/cargo/gif@0.14.2/LICENSE-APACHE +0 -201
  317. package/third-party/cargo/gif@0.14.2/LICENSE-MIT +0 -21
  318. package/third-party/cargo/glam@0.33.2/Cargo.toml +0 -354
  319. package/third-party/cargo/glam@0.33.2/LICENSE-APACHE +0 -201
  320. package/third-party/cargo/glam@0.33.2/LICENSE-MIT +0 -23
  321. package/third-party/cargo/glow@0.17.0/Cargo.toml +0 -122
  322. package/third-party/cargo/glow@0.17.0/LICENSE-APACHE +0 -201
  323. package/third-party/cargo/glow@0.17.0/LICENSE-MIT +0 -23
  324. package/third-party/cargo/glow@0.17.0/LICENSE-ZLIB +0 -15
  325. package/third-party/cargo/gltf-derive@1.4.1/Cargo.toml +0 -34
  326. package/third-party/cargo/gltf-derive@1.4.1/LICENSE-APACHE +0 -202
  327. package/third-party/cargo/gltf-derive@1.4.1/LICENSE-MIT +0 -26
  328. package/third-party/cargo/gltf-json@1.4.1/Cargo.toml +0 -50
  329. package/third-party/cargo/gltf-json@1.4.1/LICENSE-APACHE +0 -202
  330. package/third-party/cargo/gltf-json@1.4.1/LICENSE-MIT +0 -26
  331. package/third-party/cargo/gltf@1.4.1/Cargo.toml +0 -122
  332. package/third-party/cargo/gltf@1.4.1/LICENSE-APACHE +0 -202
  333. package/third-party/cargo/gltf@1.4.1/LICENSE-MIT +0 -26
  334. package/third-party/cargo/glyphon@0.12.0/Cargo.toml +0 -35
  335. package/third-party/cargo/glyphon@0.12.0/LICENSE-APACHE +0 -201
  336. package/third-party/cargo/glyphon@0.12.0/LICENSE-MIT +0 -23
  337. package/third-party/cargo/glyphon@0.12.0/LICENSE-ZLIB +0 -15
  338. package/third-party/cargo/gpu-allocator@0.28.0/Cargo.toml +0 -180
  339. package/third-party/cargo/gpu-allocator@0.28.0/LICENSE-APACHE +0 -201
  340. package/third-party/cargo/gpu-allocator@0.28.0/LICENSE-MIT +0 -7
  341. package/third-party/cargo/grid@1.0.1/Cargo.toml +0 -77
  342. package/third-party/cargo/grid@1.0.1/LICENSE +0 -21
  343. package/third-party/cargo/half@2.7.1/Cargo.toml +0 -137
  344. package/third-party/cargo/half@2.7.1/LICENSE-APACHE +0 -176
  345. package/third-party/cargo/half@2.7.1/LICENSE-MIT +0 -19
  346. package/third-party/cargo/harfrust@0.5.2/Cargo.toml +0 -115
  347. package/third-party/cargo/harfrust@0.5.2/harfbuzz-harfrust-efdae3142ab7-LICENSE +0 -22
  348. package/third-party/cargo/hashbrown@0.16.1/Cargo.toml +0 -180
  349. package/third-party/cargo/hashbrown@0.16.1/LICENSE-APACHE +0 -201
  350. package/third-party/cargo/hashbrown@0.16.1/LICENSE-MIT +0 -25
  351. package/third-party/cargo/hashbrown@0.17.1/Cargo.toml +0 -201
  352. package/third-party/cargo/hashbrown@0.17.1/LICENSE-APACHE +0 -201
  353. package/third-party/cargo/hashbrown@0.17.1/LICENSE-MIT +0 -25
  354. package/third-party/cargo/httpdate@1.0.3/Cargo.toml +0 -35
  355. package/third-party/cargo/httpdate@1.0.3/LICENSE-APACHE +0 -201
  356. package/third-party/cargo/httpdate@1.0.3/LICENSE-MIT +0 -19
  357. package/third-party/cargo/image-webp@0.2.4/Cargo.toml +0 -63
  358. package/third-party/cargo/image-webp@0.2.4/LICENSE-APACHE +0 -177
  359. package/third-party/cargo/image-webp@0.2.4/LICENSE-MIT +0 -25
  360. package/third-party/cargo/image@0.25.10/Cargo.toml +0 -248
  361. package/third-party/cargo/image@0.25.10/LICENSE-APACHE +0 -177
  362. package/third-party/cargo/image@0.25.10/LICENSE-MIT +0 -25
  363. package/third-party/cargo/imagesize@0.14.0/Cargo.toml +0 -104
  364. package/third-party/cargo/imagesize@0.14.0/LICENSE +0 -21
  365. package/third-party/cargo/indexmap@2.14.0/Cargo.toml +0 -167
  366. package/third-party/cargo/indexmap@2.14.0/LICENSE-APACHE +0 -201
  367. package/third-party/cargo/indexmap@2.14.0/LICENSE-MIT +0 -25
  368. package/third-party/cargo/inflections@1.1.1/Cargo.toml +0 -21
  369. package/third-party/cargo/inflections@1.1.1/LICENSE +0 -20
  370. package/third-party/cargo/itoa@1.0.18/Cargo.toml +0 -66
  371. package/third-party/cargo/itoa@1.0.18/LICENSE-APACHE +0 -176
  372. package/third-party/cargo/itoa@1.0.18/LICENSE-MIT +0 -23
  373. package/third-party/cargo/js-sys@0.3.103/Cargo.toml +0 -98
  374. package/third-party/cargo/js-sys@0.3.103/LICENSE-APACHE +0 -201
  375. package/third-party/cargo/js-sys@0.3.103/LICENSE-MIT +0 -25
  376. package/third-party/cargo/khronos-egl@6.0.0/Cargo.toml +0 -82
  377. package/third-party/cargo/khronos-egl@6.0.0/LICENSE-APACHE +0 -201
  378. package/third-party/cargo/khronos-egl@6.0.0/LICENSE-MIT +0 -23
  379. package/third-party/cargo/kurbo@0.13.1/Cargo.toml +0 -230
  380. package/third-party/cargo/kurbo@0.13.1/LICENSE-APACHE +0 -202
  381. package/third-party/cargo/kurbo@0.13.1/LICENSE-MIT +0 -25
  382. package/third-party/cargo/lazy_static@1.5.0/Cargo.toml +0 -46
  383. package/third-party/cargo/lazy_static@1.5.0/LICENSE-APACHE +0 -201
  384. package/third-party/cargo/lazy_static@1.5.0/LICENSE-MIT +0 -25
  385. package/third-party/cargo/libc@0.2.186/Cargo.toml +0 -229
  386. package/third-party/cargo/libc@0.2.186/LICENSE-APACHE +0 -176
  387. package/third-party/cargo/libc@0.2.186/LICENSE-MIT +0 -25
  388. package/third-party/cargo/libloading@0.8.9/Cargo.toml +0 -90
  389. package/third-party/cargo/libloading@0.8.9/LICENSE +0 -12
  390. package/third-party/cargo/libm@0.2.16/Cargo.toml +0 -61
  391. package/third-party/cargo/libm@0.2.16/LICENSE.txt +0 -258
  392. package/third-party/cargo/linebender_resource_handle@0.1.1/Cargo.toml +0 -107
  393. package/third-party/cargo/linebender_resource_handle@0.1.1/LICENSE-APACHE +0 -176
  394. package/third-party/cargo/linebender_resource_handle@0.1.1/LICENSE-MIT +0 -19
  395. package/third-party/cargo/litrs@1.0.0/Cargo.toml +0 -63
  396. package/third-party/cargo/litrs@1.0.0/LICENSE-APACHE +0 -176
  397. package/third-party/cargo/litrs@1.0.0/LICENSE-MIT +0 -25
  398. package/third-party/cargo/lock_api@0.4.14/Cargo.toml +0 -68
  399. package/third-party/cargo/lock_api@0.4.14/LICENSE-APACHE +0 -201
  400. package/third-party/cargo/lock_api@0.4.14/LICENSE-MIT +0 -25
  401. package/third-party/cargo/log@0.4.33/Cargo.toml +0 -152
  402. package/third-party/cargo/log@0.4.33/LICENSE-APACHE +0 -201
  403. package/third-party/cargo/log@0.4.33/LICENSE-MIT +0 -25
  404. package/third-party/cargo/lru@0.16.4/Cargo.toml +0 -47
  405. package/third-party/cargo/lru@0.16.4/LICENSE +0 -21
  406. package/third-party/cargo/lyon_geom@1.0.19/Cargo.toml +0 -69
  407. package/third-party/cargo/lyon_geom@1.0.19/nical-lyon-56219c95c658-LICENSE-APACHE +0 -13
  408. package/third-party/cargo/lyon_geom@1.0.19/nical-lyon-56219c95c658-LICENSE-MIT +0 -20
  409. package/third-party/cargo/lyon_path@1.0.19/Cargo.toml +0 -58
  410. package/third-party/cargo/lyon_path@1.0.19/nical-lyon-56219c95c658-LICENSE-APACHE +0 -13
  411. package/third-party/cargo/lyon_path@1.0.19/nical-lyon-56219c95c658-LICENSE-MIT +0 -20
  412. package/third-party/cargo/lyon_tessellation@1.0.20/Cargo.toml +0 -71
  413. package/third-party/cargo/lyon_tessellation@1.0.20/nical-lyon-7fa75ea8eea3-LICENSE-APACHE +0 -13
  414. package/third-party/cargo/lyon_tessellation@1.0.20/nical-lyon-7fa75ea8eea3-LICENSE-MIT +0 -20
  415. package/third-party/cargo/memchr@2.8.3/COPYING +0 -3
  416. package/third-party/cargo/memchr@2.8.3/Cargo.toml +0 -89
  417. package/third-party/cargo/memchr@2.8.3/LICENSE-MIT +0 -21
  418. package/third-party/cargo/memchr@2.8.3/UNLICENSE +0 -24
  419. package/third-party/cargo/memmap2@0.9.11/Cargo.toml +0 -59
  420. package/third-party/cargo/memmap2@0.9.11/LICENSE-APACHE +0 -201
  421. package/third-party/cargo/memmap2@0.9.11/LICENSE-MIT +0 -26
  422. package/third-party/cargo/miniz_oxide@0.8.9/Cargo.toml +0 -91
  423. package/third-party/cargo/miniz_oxide@0.8.9/LICENSE +0 -25
  424. package/third-party/cargo/miniz_oxide@0.8.9/LICENSE-APACHE.md +0 -177
  425. package/third-party/cargo/miniz_oxide@0.8.9/LICENSE-MIT.md +0 -24
  426. package/third-party/cargo/miniz_oxide@0.8.9/LICENSE-ZLIB.md +0 -14
  427. package/third-party/cargo/moxcms@0.8.1/Cargo.toml +0 -113
  428. package/third-party/cargo/moxcms@0.8.1/LICENSE-APACHE.md +0 -201
  429. package/third-party/cargo/moxcms@0.8.1/LICENSE.md +0 -26
  430. package/third-party/cargo/naga-types@30.0.0/Cargo.toml +0 -94
  431. package/third-party/cargo/naga-types@30.0.0/LICENSE.APACHE +0 -176
  432. package/third-party/cargo/naga-types@30.0.0/LICENSE.MIT +0 -21
  433. package/third-party/cargo/naga@30.0.0/Cargo.toml +0 -246
  434. package/third-party/cargo/naga@30.0.0/LICENSE.APACHE +0 -176
  435. package/third-party/cargo/naga@30.0.0/LICENSE.MIT +0 -21
  436. package/third-party/cargo/num-traits@0.2.19/Cargo.toml +0 -54
  437. package/third-party/cargo/num-traits@0.2.19/LICENSE-APACHE +0 -201
  438. package/third-party/cargo/num-traits@0.2.19/LICENSE-MIT +0 -25
  439. package/third-party/cargo/objc2-core-foundation@0.3.2/Cargo.toml +0 -221
  440. package/third-party/cargo/objc2-core-foundation@0.3.2/MIT-terms.txt +0 -22
  441. package/third-party/cargo/objc2-core-foundation@0.3.2/madsmtm-objc2-7b1abfd750a2-LICENSE.md +0 -34
  442. package/third-party/cargo/objc2-core-graphics@0.3.2/Cargo.toml +0 -331
  443. package/third-party/cargo/objc2-core-graphics@0.3.2/MIT-terms.txt +0 -22
  444. package/third-party/cargo/objc2-core-graphics@0.3.2/madsmtm-objc2-7b1abfd750a2-LICENSE.md +0 -34
  445. package/third-party/cargo/objc2-encode@4.1.0/Cargo.toml +0 -81
  446. package/third-party/cargo/objc2-encode@4.1.0/MIT-terms.txt +0 -22
  447. package/third-party/cargo/objc2-encode@4.1.0/madsmtm-objc2-8d214f547736-LICENSE.md +0 -34
  448. package/third-party/cargo/objc2-foundation@0.3.2/Cargo.toml +0 -529
  449. package/third-party/cargo/objc2-foundation@0.3.2/MIT-terms.txt +0 -22
  450. package/third-party/cargo/objc2-foundation@0.3.2/madsmtm-objc2-7b1abfd750a2-LICENSE.md +0 -34
  451. package/third-party/cargo/objc2-io-surface@0.3.2/Cargo.toml +0 -139
  452. package/third-party/cargo/objc2-io-surface@0.3.2/MIT-terms.txt +0 -22
  453. package/third-party/cargo/objc2-io-surface@0.3.2/madsmtm-objc2-7b1abfd750a2-LICENSE.md +0 -34
  454. package/third-party/cargo/objc2-metal@0.3.2/Cargo.toml +0 -601
  455. package/third-party/cargo/objc2-metal@0.3.2/MIT-terms.txt +0 -22
  456. package/third-party/cargo/objc2-metal@0.3.2/madsmtm-objc2-7b1abfd750a2-LICENSE.md +0 -34
  457. package/third-party/cargo/objc2-quartz-core@0.3.2/Cargo.toml +0 -302
  458. package/third-party/cargo/objc2-quartz-core@0.3.2/MIT-terms.txt +0 -22
  459. package/third-party/cargo/objc2-quartz-core@0.3.2/madsmtm-objc2-7b1abfd750a2-LICENSE.md +0 -34
  460. package/third-party/cargo/objc2@0.6.4/Cargo.toml +0 -232
  461. package/third-party/cargo/objc2@0.6.4/MIT-terms.txt +0 -22
  462. package/third-party/cargo/objc2@0.6.4/madsmtm-objc2-8852b424193c-LICENSE.md +0 -34
  463. package/third-party/cargo/once_cell@1.21.4/Cargo.toml +0 -119
  464. package/third-party/cargo/once_cell@1.21.4/LICENSE-APACHE +0 -201
  465. package/third-party/cargo/once_cell@1.21.4/LICENSE-MIT +0 -23
  466. package/third-party/cargo/ordered-float@5.3.0/Cargo.toml +0 -162
  467. package/third-party/cargo/ordered-float@5.3.0/LICENSE-MIT +0 -25
  468. package/third-party/cargo/parking_lot@0.12.5/Cargo.toml +0 -87
  469. package/third-party/cargo/parking_lot@0.12.5/LICENSE-APACHE +0 -201
  470. package/third-party/cargo/parking_lot@0.12.5/LICENSE-MIT +0 -25
  471. package/third-party/cargo/parking_lot_core@0.9.12/Cargo.toml +0 -72
  472. package/third-party/cargo/parking_lot_core@0.9.12/LICENSE-APACHE +0 -201
  473. package/third-party/cargo/parking_lot_core@0.9.12/LICENSE-MIT +0 -25
  474. package/third-party/cargo/pico-args@0.5.0/Cargo.toml +0 -32
  475. package/third-party/cargo/pico-args@0.5.0/LICENSE +0 -20
  476. package/third-party/cargo/pin-project-lite@0.2.17/Cargo.toml +0 -198
  477. package/third-party/cargo/pin-project-lite@0.2.17/LICENSE-APACHE +0 -177
  478. package/third-party/cargo/pin-project-lite@0.2.17/LICENSE-MIT +0 -23
  479. package/third-party/cargo/pkg-config@0.3.33/Cargo.toml +0 -43
  480. package/third-party/cargo/pkg-config@0.3.33/LICENSE-APACHE +0 -201
  481. package/third-party/cargo/pkg-config@0.3.33/LICENSE-MIT +0 -25
  482. package/third-party/cargo/png@0.18.1/Cargo.toml +0 -130
  483. package/third-party/cargo/png@0.18.1/LICENSE-APACHE +0 -201
  484. package/third-party/cargo/png@0.18.1/LICENSE-MIT +0 -25
  485. package/third-party/cargo/pollster@0.4.0/Cargo.toml +0 -53
  486. package/third-party/cargo/pollster@0.4.0/LICENSE-APACHE +0 -201
  487. package/third-party/cargo/pollster@0.4.0/LICENSE-MIT +0 -25
  488. package/third-party/cargo/polycool@0.4.0/Cargo.toml +0 -83
  489. package/third-party/cargo/polycool@0.4.0/LICENSE-APACHE +0 -202
  490. package/third-party/cargo/polycool@0.4.0/LICENSE-MIT +0 -25
  491. package/third-party/cargo/pp-rs@0.2.1/Cargo.toml +0 -23
  492. package/third-party/cargo/pp-rs@0.2.1/LICENSE +0 -29
  493. package/third-party/cargo/presser@0.3.1/Cargo.toml +0 -58
  494. package/third-party/cargo/presser@0.3.1/LICENSE-APACHE +0 -201
  495. package/third-party/cargo/presser@0.3.1/LICENSE-MIT +0 -25
  496. package/third-party/cargo/proc-macro2@1.0.106/Cargo.toml +0 -105
  497. package/third-party/cargo/proc-macro2@1.0.106/LICENSE-APACHE +0 -176
  498. package/third-party/cargo/proc-macro2@1.0.106/LICENSE-MIT +0 -23
  499. package/third-party/cargo/profiling@1.0.18/Cargo.toml +0 -96
  500. package/third-party/cargo/profiling@1.0.18/aclysma-profiling-8271551172eb-LICENSE-APACHE +0 -201
  501. package/third-party/cargo/profiling@1.0.18/aclysma-profiling-8271551172eb-LICENSE-MIT +0 -21
  502. package/third-party/cargo/pxfm@0.1.30/Cargo.toml +0 -53
  503. package/third-party/cargo/pxfm@0.1.30/LICENSE-APACHE.md +0 -201
  504. package/third-party/cargo/pxfm@0.1.30/LICENSE.md +0 -26
  505. package/third-party/cargo/quick-error@2.0.1/Cargo.toml +0 -24
  506. package/third-party/cargo/quick-error@2.0.1/LICENSE-APACHE +0 -202
  507. package/third-party/cargo/quick-error@2.0.1/LICENSE-MIT +0 -19
  508. package/third-party/cargo/quote@1.0.46/Cargo.toml +0 -70
  509. package/third-party/cargo/quote@1.0.46/LICENSE-APACHE +0 -176
  510. package/third-party/cargo/quote@1.0.46/LICENSE-MIT +0 -23
  511. package/third-party/cargo/rangemap@1.7.1/Cargo.toml +0 -91
  512. package/third-party/cargo/rangemap@1.7.1/LICENSE-APACHE +0 -191
  513. package/third-party/cargo/rangemap@1.7.1/LICENSE-MIT +0 -7
  514. package/third-party/cargo/raw-window-handle@0.6.2/Cargo.toml +0 -56
  515. package/third-party/cargo/raw-window-handle@0.6.2/LICENSE-APACHE.md +0 -177
  516. package/third-party/cargo/raw-window-handle@0.6.2/LICENSE-MIT.md +0 -21
  517. package/third-party/cargo/raw-window-handle@0.6.2/LICENSE-ZLIB.md +0 -11
  518. package/third-party/cargo/raw-window-metal@1.1.0/Cargo.toml +0 -111
  519. package/third-party/cargo/raw-window-metal@1.1.0/LICENSE-APACHE +0 -202
  520. package/third-party/cargo/raw-window-metal@1.1.0/LICENSE-MIT +0 -17
  521. package/third-party/cargo/read-fonts@0.37.0/Cargo.toml +0 -95
  522. package/third-party/cargo/read-fonts@0.37.0/LICENSE-APACHE +0 -67
  523. package/third-party/cargo/read-fonts@0.37.0/LICENSE-MIT +0 -25
  524. package/third-party/cargo/read-fonts@0.39.2/Cargo.toml +0 -96
  525. package/third-party/cargo/read-fonts@0.39.2/LICENSE-APACHE +0 -67
  526. package/third-party/cargo/read-fonts@0.39.2/LICENSE-MIT +0 -25
  527. package/third-party/cargo/renderdoc-sys@1.1.0/Cargo.toml +0 -39
  528. package/third-party/cargo/renderdoc-sys@1.1.0/LICENSE-APACHE +0 -201
  529. package/third-party/cargo/renderdoc-sys@1.1.0/LICENSE-MIT +0 -25
  530. package/third-party/cargo/resvg@0.47.0/Cargo.toml +0 -112
  531. package/third-party/cargo/resvg@0.47.0/LICENSE-APACHE +0 -176
  532. package/third-party/cargo/resvg@0.47.0/LICENSE-MIT +0 -25
  533. package/third-party/cargo/rgb@0.8.53/Cargo.toml +0 -110
  534. package/third-party/cargo/rgb@0.8.53/LICENSE +0 -21
  535. package/third-party/cargo/roxmltree@0.21.1/Cargo.toml +0 -75
  536. package/third-party/cargo/roxmltree@0.21.1/LICENSE-APACHE +0 -201
  537. package/third-party/cargo/roxmltree@0.21.1/LICENSE-MIT +0 -21
  538. package/third-party/cargo/rustc-hash@1.1.0/Cargo.toml +0 -25
  539. package/third-party/cargo/rustc-hash@1.1.0/LICENSE-APACHE +0 -201
  540. package/third-party/cargo/rustc-hash@1.1.0/LICENSE-MIT +0 -23
  541. package/third-party/cargo/rustc-hash@2.1.3/Cargo.toml +0 -50
  542. package/third-party/cargo/rustc-hash@2.1.3/LICENSE-APACHE +0 -176
  543. package/third-party/cargo/rustc-hash@2.1.3/LICENSE-MIT +0 -23
  544. package/third-party/cargo/rustix@1.1.4/COPYRIGHT +0 -29
  545. package/third-party/cargo/rustix@1.1.4/Cargo.toml +0 -292
  546. package/third-party/cargo/rustix@1.1.4/LICENSE-APACHE +0 -201
  547. package/third-party/cargo/rustix@1.1.4/LICENSE-Apache-2.0_WITH_LLVM-exception +0 -220
  548. package/third-party/cargo/rustix@1.1.4/LICENSE-MIT +0 -23
  549. package/third-party/cargo/rustversion@1.0.23/Cargo.toml +0 -69
  550. package/third-party/cargo/rustversion@1.0.23/LICENSE-APACHE +0 -176
  551. package/third-party/cargo/rustversion@1.0.23/LICENSE-MIT +0 -23
  552. package/third-party/cargo/rustybuzz@0.20.1/Cargo.toml +0 -110
  553. package/third-party/cargo/rustybuzz@0.20.1/LICENSE +0 -22
  554. package/third-party/cargo/scopeguard@1.2.0/Cargo.toml +0 -43
  555. package/third-party/cargo/scopeguard@1.2.0/LICENSE-APACHE +0 -201
  556. package/third-party/cargo/scopeguard@1.2.0/LICENSE-MIT +0 -25
  557. package/third-party/cargo/self_cell@1.2.2/Cargo.toml +0 -33
  558. package/third-party/cargo/self_cell@1.2.2/LICENSE-APACHE +0 -201
  559. package/third-party/cargo/self_cell@1.2.2/LICENSE-GPLv2 +0 -339
  560. package/third-party/cargo/self_cell@1.3.0/Cargo.toml +0 -33
  561. package/third-party/cargo/self_cell@1.3.0/LICENSE-APACHE +0 -201
  562. package/third-party/cargo/self_cell@1.3.0/LICENSE-GPLv2 +0 -339
  563. package/third-party/cargo/serde@1.0.228/Cargo.toml +0 -84
  564. package/third-party/cargo/serde@1.0.228/LICENSE-APACHE +0 -176
  565. package/third-party/cargo/serde@1.0.228/LICENSE-MIT +0 -23
  566. package/third-party/cargo/serde_core@1.0.228/Cargo.toml +0 -87
  567. package/third-party/cargo/serde_core@1.0.228/LICENSE-APACHE +0 -176
  568. package/third-party/cargo/serde_core@1.0.228/LICENSE-MIT +0 -23
  569. package/third-party/cargo/serde_derive@1.0.228/Cargo.toml +0 -87
  570. package/third-party/cargo/serde_derive@1.0.228/LICENSE-APACHE +0 -176
  571. package/third-party/cargo/serde_derive@1.0.228/LICENSE-MIT +0 -23
  572. package/third-party/cargo/serde_json@1.0.150/Cargo.toml +0 -162
  573. package/third-party/cargo/serde_json@1.0.150/LICENSE-APACHE +0 -176
  574. package/third-party/cargo/serde_json@1.0.150/LICENSE-MIT +0 -23
  575. package/third-party/cargo/simd-adler32@0.3.10/Cargo.toml +0 -68
  576. package/third-party/cargo/simd-adler32@0.3.10/LICENSE.md +0 -21
  577. package/third-party/cargo/simplecss@0.2.2/Cargo.toml +0 -146
  578. package/third-party/cargo/simplecss@0.2.2/LICENSE-APACHE +0 -201
  579. package/third-party/cargo/simplecss@0.2.2/LICENSE-MIT +0 -21
  580. package/third-party/cargo/siphasher@1.0.3/COPYING +0 -7
  581. package/third-party/cargo/siphasher@1.0.3/Cargo.toml +0 -64
  582. package/third-party/cargo/skrifa@0.40.0/Cargo.toml +0 -86
  583. package/third-party/cargo/skrifa@0.40.0/LICENSE-APACHE +0 -67
  584. package/third-party/cargo/skrifa@0.40.0/LICENSE-MIT +0 -25
  585. package/third-party/cargo/skrifa@0.42.1/Cargo.toml +0 -86
  586. package/third-party/cargo/skrifa@0.42.1/LICENSE-APACHE +0 -67
  587. package/third-party/cargo/skrifa@0.42.1/LICENSE-MIT +0 -25
  588. package/third-party/cargo/slab@0.4.12/Cargo.toml +0 -67
  589. package/third-party/cargo/slab@0.4.12/LICENSE +0 -25
  590. package/third-party/cargo/slotmap@1.1.1/Cargo.toml +0 -83
  591. package/third-party/cargo/slotmap@1.1.1/LICENSE +0 -19
  592. package/third-party/cargo/smallvec@1.15.2/Cargo.toml +0 -103
  593. package/third-party/cargo/smallvec@1.15.2/LICENSE-APACHE +0 -201
  594. package/third-party/cargo/smallvec@1.15.2/LICENSE-MIT +0 -25
  595. package/third-party/cargo/smol_str@0.3.6/Cargo.toml +0 -155
  596. package/third-party/cargo/smol_str@0.3.6/LICENSE-APACHE +0 -201
  597. package/third-party/cargo/smol_str@0.3.6/LICENSE-MIT +0 -23
  598. package/third-party/cargo/spirv@0.4.0+sdk-1.4.341.0/Cargo.toml +0 -56
  599. package/third-party/cargo/spirv@0.4.0+sdk-1.4.341.0/gfx-rs-rspirv-8afc3d0ac8e1-LICENSE +0 -202
  600. package/third-party/cargo/static_assertions@1.1.0/Cargo.toml +0 -39
  601. package/third-party/cargo/static_assertions@1.1.0/LICENSE-APACHE +0 -202
  602. package/third-party/cargo/static_assertions@1.1.0/LICENSE-MIT +0 -21
  603. package/third-party/cargo/strict-num@0.1.1/Cargo.toml +0 -35
  604. package/third-party/cargo/strict-num@0.1.1/LICENSE +0 -19
  605. package/third-party/cargo/svgtypes@0.16.1/Cargo.toml +0 -57
  606. package/third-party/cargo/svgtypes@0.16.1/LICENSE-APACHE +0 -201
  607. package/third-party/cargo/svgtypes@0.16.1/LICENSE-MIT +0 -20
  608. package/third-party/cargo/swash@0.2.9/Cargo.toml +0 -93
  609. package/third-party/cargo/swash@0.2.9/LICENSE-APACHE +0 -201
  610. package/third-party/cargo/swash@0.2.9/LICENSE-MIT +0 -25
  611. package/third-party/cargo/syn@2.0.118/Cargo.toml +0 -272
  612. package/third-party/cargo/syn@2.0.118/LICENSE-APACHE +0 -176
  613. package/third-party/cargo/syn@2.0.118/LICENSE-MIT +0 -23
  614. package/third-party/cargo/sys-locale@0.3.2/Cargo.toml +0 -73
  615. package/third-party/cargo/sys-locale@0.3.2/LICENSE-APACHE +0 -201
  616. package/third-party/cargo/sys-locale@0.3.2/LICENSE-MIT +0 -21
  617. package/third-party/cargo/taffy@0.12.1/Cargo.toml +0 -171
  618. package/third-party/cargo/taffy@0.12.1/DioxusLabs-taffy-1c9e37a0a1cf-LICENSE.md +0 -25
  619. package/third-party/cargo/tempfile@3.27.0/Cargo.toml +0 -105
  620. package/third-party/cargo/tempfile@3.27.0/LICENSE-APACHE +0 -201
  621. package/third-party/cargo/tempfile@3.27.0/LICENSE-MIT +0 -25
  622. package/third-party/cargo/termcolor@1.4.1/COPYING +0 -3
  623. package/third-party/cargo/termcolor@1.4.1/Cargo.toml +0 -40
  624. package/third-party/cargo/termcolor@1.4.1/LICENSE-MIT +0 -21
  625. package/third-party/cargo/termcolor@1.4.1/UNLICENSE +0 -24
  626. package/third-party/cargo/thiserror-impl@2.0.18/Cargo.toml +0 -52
  627. package/third-party/cargo/thiserror-impl@2.0.18/LICENSE-APACHE +0 -176
  628. package/third-party/cargo/thiserror-impl@2.0.18/LICENSE-MIT +0 -23
  629. package/third-party/cargo/thiserror@2.0.18/Cargo.toml +0 -119
  630. package/third-party/cargo/thiserror@2.0.18/LICENSE-APACHE +0 -176
  631. package/third-party/cargo/thiserror@2.0.18/LICENSE-MIT +0 -23
  632. package/third-party/cargo/tiny-skia-path@0.12.0/Cargo.toml +0 -58
  633. package/third-party/cargo/tiny-skia-path@0.12.0/LICENSE +0 -30
  634. package/third-party/cargo/tiny-skia@0.12.0/Cargo.toml +0 -116
  635. package/third-party/cargo/tiny-skia@0.12.0/LICENSE +0 -30
  636. package/third-party/cargo/tiny_http@0.12.0/Cargo.toml +0 -82
  637. package/third-party/cargo/tiny_http@0.12.0/LICENSE-APACHE +0 -201
  638. package/third-party/cargo/tiny_http@0.12.0/LICENSE-MIT +0 -25
  639. package/third-party/cargo/tinyvec@1.12.0/Cargo.toml +0 -184
  640. package/third-party/cargo/tinyvec@1.12.0/LICENSE-APACHE.md +0 -202
  641. package/third-party/cargo/tinyvec@1.12.0/LICENSE-MIT.md +0 -5
  642. package/third-party/cargo/tinyvec@1.12.0/LICENSE-ZLIB.md +0 -11
  643. package/third-party/cargo/tinyvec_macros@0.1.1/Cargo.toml +0 -19
  644. package/third-party/cargo/tinyvec_macros@0.1.1/LICENSE-APACHE.md +0 -202
  645. package/third-party/cargo/tinyvec_macros@0.1.1/LICENSE-MIT.md +0 -21
  646. package/third-party/cargo/tinyvec_macros@0.1.1/LICENSE-ZLIB.md +0 -20
  647. package/third-party/cargo/ttf-parser@0.25.1/Cargo.toml +0 -101
  648. package/third-party/cargo/ttf-parser@0.25.1/LICENSE-APACHE +0 -201
  649. package/third-party/cargo/ttf-parser@0.25.1/LICENSE-MIT +0 -20
  650. package/third-party/cargo/unicode-bidi-mirroring@0.4.0/Cargo.toml +0 -22
  651. package/third-party/cargo/unicode-bidi-mirroring@0.4.0/LICENSE-APACHE +0 -201
  652. package/third-party/cargo/unicode-bidi-mirroring@0.4.0/LICENSE-MIT +0 -21
  653. package/third-party/cargo/unicode-bidi@0.3.18/COPYRIGHT +0 -8
  654. package/third-party/cargo/unicode-bidi@0.3.18/Cargo.toml +0 -90
  655. package/third-party/cargo/unicode-bidi@0.3.18/LICENSE-APACHE +0 -201
  656. package/third-party/cargo/unicode-bidi@0.3.18/LICENSE-MIT +0 -25
  657. package/third-party/cargo/unicode-ccc@0.4.0/Cargo.toml +0 -22
  658. package/third-party/cargo/unicode-ccc@0.4.0/LICENSE-APACHE +0 -201
  659. package/third-party/cargo/unicode-ccc@0.4.0/LICENSE-MIT +0 -21
  660. package/third-party/cargo/unicode-ident@1.0.24/Cargo.toml +0 -84
  661. package/third-party/cargo/unicode-ident@1.0.24/LICENSE-APACHE +0 -176
  662. package/third-party/cargo/unicode-ident@1.0.24/LICENSE-MIT +0 -23
  663. package/third-party/cargo/unicode-ident@1.0.24/LICENSE-UNICODE +0 -39
  664. package/third-party/cargo/unicode-linebreak@0.1.5/Cargo.toml +0 -32
  665. package/third-party/cargo/unicode-linebreak@0.1.5/LICENSE +0 -201
  666. package/third-party/cargo/unicode-properties@0.1.4/COPYRIGHT +0 -7
  667. package/third-party/cargo/unicode-properties@0.1.4/Cargo.toml +0 -65
  668. package/third-party/cargo/unicode-properties@0.1.4/LICENSE-APACHE +0 -201
  669. package/third-party/cargo/unicode-properties@0.1.4/LICENSE-MIT +0 -25
  670. package/third-party/cargo/unicode-script@0.5.8/Cargo.toml +0 -63
  671. package/third-party/cargo/unicode-script@0.5.8/LICENSE-APACHE +0 -201
  672. package/third-party/cargo/unicode-script@0.5.8/LICENSE-MIT +0 -27
  673. package/third-party/cargo/unicode-segmentation@1.13.3/COPYRIGHT +0 -7
  674. package/third-party/cargo/unicode-segmentation@1.13.3/Cargo.toml +0 -91
  675. package/third-party/cargo/unicode-segmentation@1.13.3/LICENSE-APACHE +0 -201
  676. package/third-party/cargo/unicode-segmentation@1.13.3/LICENSE-MIT +0 -25
  677. package/third-party/cargo/unicode-vo@0.1.0/Cargo.toml +0 -22
  678. package/third-party/cargo/unicode-vo@0.1.0/LICENSE-APACHE +0 -201
  679. package/third-party/cargo/unicode-vo@0.1.0/LICENSE-MIT +0 -21
  680. package/third-party/cargo/unicode-width@0.2.2/COPYRIGHT +0 -7
  681. package/third-party/cargo/unicode-width@0.2.2/Cargo.toml +0 -77
  682. package/third-party/cargo/unicode-width@0.2.2/LICENSE-APACHE +0 -201
  683. package/third-party/cargo/unicode-width@0.2.2/LICENSE-MIT +0 -25
  684. package/third-party/cargo/unicode-xid@0.2.6/COPYRIGHT +0 -7
  685. package/third-party/cargo/unicode-xid@0.2.6/Cargo.toml +0 -65
  686. package/third-party/cargo/unicode-xid@0.2.6/LICENSE-APACHE +0 -201
  687. package/third-party/cargo/unicode-xid@0.2.6/LICENSE-MIT +0 -25
  688. package/third-party/cargo/urlencoding@2.1.3/Cargo.toml +0 -41
  689. package/third-party/cargo/urlencoding@2.1.3/LICENSE +0 -20
  690. package/third-party/cargo/usvg@0.47.0/Cargo.toml +0 -138
  691. package/third-party/cargo/usvg@0.47.0/LICENSE-APACHE +0 -176
  692. package/third-party/cargo/usvg@0.47.0/LICENSE-MIT +0 -25
  693. package/third-party/cargo/version_check@0.9.5/Cargo.toml +0 -38
  694. package/third-party/cargo/version_check@0.9.5/LICENSE-APACHE +0 -201
  695. package/third-party/cargo/version_check@0.9.5/LICENSE-MIT +0 -19
  696. package/third-party/cargo/wasm-bindgen-futures@0.4.76/Cargo.toml +0 -88
  697. package/third-party/cargo/wasm-bindgen-futures@0.4.76/LICENSE-APACHE +0 -201
  698. package/third-party/cargo/wasm-bindgen-futures@0.4.76/LICENSE-MIT +0 -25
  699. package/third-party/cargo/wasm-bindgen-macro-support@0.2.126/Cargo.toml +0 -83
  700. package/third-party/cargo/wasm-bindgen-macro-support@0.2.126/LICENSE-APACHE +0 -201
  701. package/third-party/cargo/wasm-bindgen-macro-support@0.2.126/LICENSE-MIT +0 -25
  702. package/third-party/cargo/wasm-bindgen-macro@0.2.126/Cargo.toml +0 -73
  703. package/third-party/cargo/wasm-bindgen-macro@0.2.126/LICENSE-APACHE +0 -201
  704. package/third-party/cargo/wasm-bindgen-macro@0.2.126/LICENSE-MIT +0 -25
  705. package/third-party/cargo/wasm-bindgen-shared@0.2.126/Cargo.toml +0 -66
  706. package/third-party/cargo/wasm-bindgen-shared@0.2.126/LICENSE-APACHE +0 -201
  707. package/third-party/cargo/wasm-bindgen-shared@0.2.126/LICENSE-MIT +0 -25
  708. package/third-party/cargo/wasm-bindgen@0.2.126/Cargo.toml +0 -122
  709. package/third-party/cargo/wasm-bindgen@0.2.126/LICENSE-APACHE +0 -201
  710. package/third-party/cargo/wasm-bindgen@0.2.126/LICENSE-MIT +0 -25
  711. package/third-party/cargo/wayland-sys@0.31.11/Cargo.toml +0 -81
  712. package/third-party/cargo/wayland-sys@0.31.11/LICENSE.txt +0 -19
  713. package/third-party/cargo/web-sys@0.3.103/Cargo.toml +0 -2823
  714. package/third-party/cargo/web-sys@0.3.103/LICENSE-APACHE +0 -201
  715. package/third-party/cargo/web-sys@0.3.103/LICENSE-MIT +0 -25
  716. package/third-party/cargo/weezl@0.1.12/Cargo.toml +0 -120
  717. package/third-party/cargo/weezl@0.1.12/LICENSE-APACHE +0 -201
  718. package/third-party/cargo/weezl@0.1.12/LICENSE-MIT +0 -22
  719. package/third-party/cargo/wgpu-core-deps-apple@30.0.0/Cargo.toml +0 -53
  720. package/third-party/cargo/wgpu-core-deps-apple@30.0.0/LICENSE.APACHE +0 -176
  721. package/third-party/cargo/wgpu-core-deps-apple@30.0.0/LICENSE.MIT +0 -21
  722. package/third-party/cargo/wgpu-core@30.0.0/Cargo.toml +0 -237
  723. package/third-party/cargo/wgpu-core@30.0.0/LICENSE.APACHE +0 -176
  724. package/third-party/cargo/wgpu-core@30.0.0/LICENSE.MIT +0 -21
  725. package/third-party/cargo/wgpu-hal@30.0.0/Cargo.toml +0 -541
  726. package/third-party/cargo/wgpu-hal@30.0.0/LICENSE.APACHE +0 -176
  727. package/third-party/cargo/wgpu-hal@30.0.0/LICENSE.MIT +0 -21
  728. package/third-party/cargo/wgpu-naga-bridge@30.0.0/Cargo.toml +0 -46
  729. package/third-party/cargo/wgpu-naga-bridge@30.0.0/LICENSE.APACHE +0 -176
  730. package/third-party/cargo/wgpu-naga-bridge@30.0.0/LICENSE.MIT +0 -21
  731. package/third-party/cargo/wgpu-types@30.0.0/Cargo.toml +0 -161
  732. package/third-party/cargo/wgpu-types@30.0.0/LICENSE.APACHE +0 -176
  733. package/third-party/cargo/wgpu-types@30.0.0/LICENSE.MIT +0 -21
  734. package/third-party/cargo/wgpu@30.0.0/Cargo.toml +0 -278
  735. package/third-party/cargo/wgpu@30.0.0/LICENSE.APACHE +0 -176
  736. package/third-party/cargo/wgpu@30.0.0/LICENSE.MIT +0 -21
  737. package/third-party/cargo/xmlwriter@0.1.0/Cargo.toml +0 -23
  738. package/third-party/cargo/xmlwriter@0.1.0/LICENSE +0 -21
  739. package/third-party/cargo/yazi@0.2.1/Cargo.toml +0 -45
  740. package/third-party/cargo/yazi@0.2.1/LICENSE-APACHE +0 -201
  741. package/third-party/cargo/yazi@0.2.1/LICENSE-MIT +0 -19
  742. package/third-party/cargo/zeno@0.3.3/Cargo.toml +0 -65
  743. package/third-party/cargo/zeno@0.3.3/LICENSE-APACHE +0 -201
  744. package/third-party/cargo/zeno@0.3.3/LICENSE-MIT +0 -25
  745. package/third-party/cargo/zerocopy-derive@0.8.54/Cargo.toml +0 -209
  746. package/third-party/cargo/zerocopy-derive@0.8.54/LICENSE-APACHE +0 -202
  747. package/third-party/cargo/zerocopy-derive@0.8.54/LICENSE-BSD +0 -24
  748. package/third-party/cargo/zerocopy-derive@0.8.54/LICENSE-MIT +0 -26
  749. package/third-party/cargo/zerocopy@0.8.54/Cargo.toml +0 -419
  750. package/third-party/cargo/zerocopy@0.8.54/LICENSE-APACHE +0 -202
  751. package/third-party/cargo/zerocopy@0.8.54/LICENSE-BSD +0 -24
  752. package/third-party/cargo/zerocopy@0.8.54/LICENSE-MIT +0 -26
  753. package/third-party/cargo/zmij@1.0.23/Cargo.toml +0 -90
  754. package/third-party/cargo/zmij@1.0.23/LICENSE-MIT +0 -23
  755. package/third-party/cargo/zune-core@0.5.1/Cargo.toml +0 -47
  756. package/third-party/cargo/zune-core@0.5.1/LICENSE-APACHE +0 -201
  757. package/third-party/cargo/zune-core@0.5.1/LICENSE-MIT +0 -21
  758. package/third-party/cargo/zune-core@0.5.1/LICENSE-ZLIB +0 -19
  759. package/third-party/cargo/zune-jpeg@0.5.15/Cargo.toml +0 -67
  760. package/third-party/cargo/zune-jpeg@0.5.15/LICENSE-APACHE +0 -201
  761. package/third-party/cargo/zune-jpeg@0.5.15/LICENSE-MIT +0 -21
  762. package/third-party/cargo/zune-jpeg@0.5.15/LICENSE-ZLIB +0 -19
  763. package/third-party/npm/@esbuild__darwin-arm64@0.27.4/esbuild-0.27.4-LICENSE.md +0 -21
  764. package/third-party/npm/@esbuild__darwin-arm64@0.27.4/go-LICENSE +0 -27
  765. package/third-party/npm/@esbuild__darwin-arm64@0.27.4/golang-x-sys-c0bba94af5f8-LICENSE +0 -27
  766. package/third-party/npm/@esbuild__darwin-arm64@0.27.4/package.json +0 -20
  767. package/third-party/npm/@floating-ui__core@1.7.5/LICENSE +0 -20
  768. package/third-party/npm/@floating-ui__core@1.7.5/package.json +0 -63
  769. package/third-party/npm/@floating-ui__dom@1.7.6/LICENSE +0 -20
  770. package/third-party/npm/@floating-ui__dom@1.7.6/package.json +0 -71
  771. package/third-party/npm/@floating-ui__react-dom@2.1.8/LICENSE +0 -20
  772. package/third-party/npm/@floating-ui__react-dom@2.1.8/package.json +0 -76
  773. package/third-party/npm/@floating-ui__utils@0.2.11/LICENSE +0 -20
  774. package/third-party/npm/@floating-ui__utils@0.2.11/package.json +0 -70
  775. package/third-party/npm/@radix-ui__primitive@1.1.7/LICENSE +0 -21
  776. package/third-party/npm/@radix-ui__primitive@1.1.7/package.json +0 -79
  777. package/third-party/npm/@radix-ui__react-arrow@1.1.15/LICENSE +0 -21
  778. package/third-party/npm/@radix-ui__react-arrow@1.1.15/package.json +0 -68
  779. package/third-party/npm/@radix-ui__react-collection@1.1.15/LICENSE +0 -21
  780. package/third-party/npm/@radix-ui__react-collection@1.1.15/package.json +0 -71
  781. package/third-party/npm/@radix-ui__react-compose-refs@1.1.5/LICENSE +0 -21
  782. package/third-party/npm/@radix-ui__react-compose-refs@1.1.5/package.json +0 -60
  783. package/third-party/npm/@radix-ui__react-context-menu@2.3.7/LICENSE +0 -21
  784. package/third-party/npm/@radix-ui__react-context-menu@2.3.7/package.json +0 -73
  785. package/third-party/npm/@radix-ui__react-context@1.2.2/LICENSE +0 -21
  786. package/third-party/npm/@radix-ui__react-context@1.2.2/package.json +0 -60
  787. package/third-party/npm/@radix-ui__react-direction@1.1.4/LICENSE +0 -21
  788. package/third-party/npm/@radix-ui__react-direction@1.1.4/package.json +0 -60
  789. package/third-party/npm/@radix-ui__react-dismissable-layer@1.1.19/LICENSE +0 -21
  790. package/third-party/npm/@radix-ui__react-dismissable-layer@1.1.19/package.json +0 -74
  791. package/third-party/npm/@radix-ui__react-focus-guards@1.1.6/LICENSE +0 -21
  792. package/third-party/npm/@radix-ui__react-focus-guards@1.1.6/package.json +0 -60
  793. package/third-party/npm/@radix-ui__react-focus-scope@1.1.16/LICENSE +0 -21
  794. package/third-party/npm/@radix-ui__react-focus-scope@1.1.16/package.json +0 -71
  795. package/third-party/npm/@radix-ui__react-id@1.1.4/LICENSE +0 -21
  796. package/third-party/npm/@radix-ui__react-id@1.1.4/package.json +0 -63
  797. package/third-party/npm/@radix-ui__react-menu@2.1.24/LICENSE +0 -21
  798. package/third-party/npm/@radix-ui__react-menu@2.1.24/package.json +0 -86
  799. package/third-party/npm/@radix-ui__react-popper@1.3.7/LICENSE +0 -21
  800. package/third-party/npm/@radix-ui__react-popper@1.3.7/package.json +0 -78
  801. package/third-party/npm/@radix-ui__react-portal@1.1.17/LICENSE +0 -21
  802. package/third-party/npm/@radix-ui__react-portal@1.1.17/package.json +0 -69
  803. package/third-party/npm/@radix-ui__react-presence@1.1.10/LICENSE +0 -21
  804. package/third-party/npm/@radix-ui__react-presence@1.1.10/package.json +0 -68
  805. package/third-party/npm/@radix-ui__react-primitive@2.1.10/LICENSE +0 -21
  806. package/third-party/npm/@radix-ui__react-primitive@2.1.10/package.json +0 -68
  807. package/third-party/npm/@radix-ui__react-roving-focus@1.1.19/LICENSE +0 -21
  808. package/third-party/npm/@radix-ui__react-roving-focus@1.1.19/package.json +0 -78
  809. package/third-party/npm/@radix-ui__react-slot@1.3.3/LICENSE +0 -21
  810. package/third-party/npm/@radix-ui__react-slot@1.3.3/package.json +0 -63
  811. package/third-party/npm/@radix-ui__react-use-callback-ref@1.1.4/LICENSE +0 -21
  812. package/third-party/npm/@radix-ui__react-use-callback-ref@1.1.4/package.json +0 -60
  813. package/third-party/npm/@radix-ui__react-use-controllable-state@1.2.6/LICENSE +0 -21
  814. package/third-party/npm/@radix-ui__react-use-controllable-state@1.2.6/package.json +0 -65
  815. package/third-party/npm/@radix-ui__react-use-effect-event@0.0.5/LICENSE +0 -21
  816. package/third-party/npm/@radix-ui__react-use-effect-event@0.0.5/package.json +0 -65
  817. package/third-party/npm/@radix-ui__react-use-is-hydrated@0.1.3/LICENSE +0 -21
  818. package/third-party/npm/@radix-ui__react-use-is-hydrated@0.1.3/package.json +0 -61
  819. package/third-party/npm/@radix-ui__react-use-layout-effect@1.1.4/LICENSE +0 -21
  820. package/third-party/npm/@radix-ui__react-use-layout-effect@1.1.4/package.json +0 -60
  821. package/third-party/npm/@radix-ui__react-use-size@1.1.4/LICENSE +0 -21
  822. package/third-party/npm/@radix-ui__react-use-size@1.1.4/package.json +0 -63
  823. package/third-party/npm/aria-hidden@1.2.6/LICENSE +0 -21
  824. package/third-party/npm/aria-hidden@1.2.6/package.json +0 -71
  825. package/third-party/npm/detect-node-es@1.1.0/LICENSE +0 -21
  826. package/third-party/npm/detect-node-es@1.1.0/package.json +0 -29
  827. package/third-party/npm/esbuild@0.27.4/LICENSE.md +0 -21
  828. package/third-party/npm/esbuild@0.27.4/package.json +0 -49
  829. package/third-party/npm/get-nonce@1.0.1/LICENSE +0 -21
  830. package/third-party/npm/get-nonce@1.0.1/package.json +0 -68
  831. package/third-party/npm/mediabunny@1.52.2/LICENSE +0 -373
  832. package/third-party/npm/mediabunny@1.52.2/package.json +0 -136
  833. package/third-party/npm/mediabunny@1.52.2/source/LICENSE +0 -373
  834. package/third-party/npm/mediabunny@1.52.2/source/package.json +0 -136
  835. package/third-party/npm/mediabunny@1.52.2/source/src/adts/adts-demuxer.ts +0 -400
  836. package/third-party/npm/mediabunny@1.52.2/source/src/adts/adts-muxer.ts +0 -124
  837. package/third-party/npm/mediabunny@1.52.2/source/src/adts/adts-reader.ts +0 -85
  838. package/third-party/npm/mediabunny@1.52.2/source/src/aes.ts +0 -307
  839. package/third-party/npm/mediabunny@1.52.2/source/src/codec-data.ts +0 -3178
  840. package/third-party/npm/mediabunny@1.52.2/source/src/codec.ts +0 -1154
  841. package/third-party/npm/mediabunny@1.52.2/source/src/conversion.ts +0 -2042
  842. package/third-party/npm/mediabunny@1.52.2/source/src/custom-coder.ts +0 -212
  843. package/third-party/npm/mediabunny@1.52.2/source/src/decode.ts +0 -263
  844. package/third-party/npm/mediabunny@1.52.2/source/src/demuxer.ts +0 -43
  845. package/third-party/npm/mediabunny@1.52.2/source/src/encode.ts +0 -1412
  846. package/third-party/npm/mediabunny@1.52.2/source/src/flac/flac-demuxer.ts +0 -813
  847. package/third-party/npm/mediabunny@1.52.2/source/src/flac/flac-misc.ts +0 -165
  848. package/third-party/npm/mediabunny@1.52.2/source/src/flac/flac-muxer.ts +0 -350
  849. package/third-party/npm/mediabunny@1.52.2/source/src/hls/hls-demuxer.ts +0 -995
  850. package/third-party/npm/mediabunny@1.52.2/source/src/hls/hls-misc.ts +0 -81
  851. package/third-party/npm/mediabunny@1.52.2/source/src/hls/hls-muxer.ts +0 -1529
  852. package/third-party/npm/mediabunny@1.52.2/source/src/hls/hls-segmented-input.ts +0 -772
  853. package/third-party/npm/mediabunny@1.52.2/source/src/id3.ts +0 -972
  854. package/third-party/npm/mediabunny@1.52.2/source/src/index.ts +0 -319
  855. package/third-party/npm/mediabunny@1.52.2/source/src/input-format.ts +0 -819
  856. package/third-party/npm/mediabunny@1.52.2/source/src/input-track.ts +0 -1141
  857. package/third-party/npm/mediabunny@1.52.2/source/src/input.ts +0 -571
  858. package/third-party/npm/mediabunny@1.52.2/source/src/isobmff/isobmff-boxes.ts +0 -1911
  859. package/third-party/npm/mediabunny@1.52.2/source/src/isobmff/isobmff-demuxer.ts +0 -3953
  860. package/third-party/npm/mediabunny@1.52.2/source/src/isobmff/isobmff-misc.ts +0 -90
  861. package/third-party/npm/mediabunny@1.52.2/source/src/isobmff/isobmff-muxer.ts +0 -1595
  862. package/third-party/npm/mediabunny@1.52.2/source/src/isobmff/isobmff-reader.ts +0 -91
  863. package/third-party/npm/mediabunny@1.52.2/source/src/logging.ts +0 -120
  864. package/third-party/npm/mediabunny@1.52.2/source/src/matroska/ebml.ts +0 -770
  865. package/third-party/npm/mediabunny@1.52.2/source/src/matroska/matroska-demuxer.ts +0 -2598
  866. package/third-party/npm/mediabunny@1.52.2/source/src/matroska/matroska-misc.ts +0 -29
  867. package/third-party/npm/mediabunny@1.52.2/source/src/matroska/matroska-muxer.ts +0 -1360
  868. package/third-party/npm/mediabunny@1.52.2/source/src/media-sink.ts +0 -2589
  869. package/third-party/npm/mediabunny@1.52.2/source/src/media-source.ts +0 -3041
  870. package/third-party/npm/mediabunny@1.52.2/source/src/metadata.ts +0 -335
  871. package/third-party/npm/mediabunny@1.52.2/source/src/misc.ts +0 -1336
  872. package/third-party/npm/mediabunny@1.52.2/source/src/mp3/mp3-demuxer.ts +0 -469
  873. package/third-party/npm/mediabunny@1.52.2/source/src/mp3/mp3-muxer.ts +0 -169
  874. package/third-party/npm/mediabunny@1.52.2/source/src/mp3/mp3-reader.ts +0 -61
  875. package/third-party/npm/mediabunny@1.52.2/source/src/mp3/mp3-writer.ts +0 -121
  876. package/third-party/npm/mediabunny@1.52.2/source/src/mpeg-ts/mpeg-ts-demuxer.ts +0 -2519
  877. package/third-party/npm/mediabunny@1.52.2/source/src/mpeg-ts/mpeg-ts-misc.ts +0 -32
  878. package/third-party/npm/mediabunny@1.52.2/source/src/mpeg-ts/mpeg-ts-muxer.ts +0 -842
  879. package/third-party/npm/mediabunny@1.52.2/source/src/muxer.ts +0 -80
  880. package/third-party/npm/mediabunny@1.52.2/source/src/node.ts +0 -11
  881. package/third-party/npm/mediabunny@1.52.2/source/src/ogg/ogg-demuxer.ts +0 -1087
  882. package/third-party/npm/mediabunny@1.52.2/source/src/ogg/ogg-misc.ts +0 -116
  883. package/third-party/npm/mediabunny@1.52.2/source/src/ogg/ogg-muxer.ts +0 -527
  884. package/third-party/npm/mediabunny@1.52.2/source/src/ogg/ogg-reader.ts +0 -93
  885. package/third-party/npm/mediabunny@1.52.2/source/src/output-format.ts +0 -1425
  886. package/third-party/npm/mediabunny@1.52.2/source/src/output.ts +0 -940
  887. package/third-party/npm/mediabunny@1.52.2/source/src/packet.ts +0 -287
  888. package/third-party/npm/mediabunny@1.52.2/source/src/pcm.ts +0 -112
  889. package/third-party/npm/mediabunny@1.52.2/source/src/reader.ts +0 -391
  890. package/third-party/npm/mediabunny@1.52.2/source/src/resample.ts +0 -287
  891. package/third-party/npm/mediabunny@1.52.2/source/src/sample.ts +0 -3231
  892. package/third-party/npm/mediabunny@1.52.2/source/src/segmented-input.ts +0 -575
  893. package/third-party/npm/mediabunny@1.52.2/source/src/source.ts +0 -2588
  894. package/third-party/npm/mediabunny@1.52.2/source/src/subtitles.ts +0 -131
  895. package/third-party/npm/mediabunny@1.52.2/source/src/target.ts +0 -871
  896. package/third-party/npm/mediabunny@1.52.2/source/src/tsconfig.json +0 -16
  897. package/third-party/npm/mediabunny@1.52.2/source/src/wave/riff-writer.ts +0 -36
  898. package/third-party/npm/mediabunny@1.52.2/source/src/wave/wave-demuxer.ts +0 -583
  899. package/third-party/npm/mediabunny@1.52.2/source/src/wave/wave-muxer.ts +0 -375
  900. package/third-party/npm/mediabunny@1.52.2/source/src/writer.ts +0 -128
  901. package/third-party/npm/react-dom@19.3.0/LICENSE +0 -21
  902. package/third-party/npm/react-dom@19.3.0/package.json +0 -117
  903. package/third-party/npm/react-remove-scroll-bar@2.3.8/package.json +0 -85
  904. package/third-party/npm/react-remove-scroll-bar@2.3.8/react-remove-scroll-bar-LICENSE +0 -21
  905. package/third-party/npm/react-remove-scroll@2.7.2/LICENSE +0 -21
  906. package/third-party/npm/react-remove-scroll@2.7.2/package.json +0 -98
  907. package/third-party/npm/react-style-singleton@2.2.3/LICENSE +0 -21
  908. package/third-party/npm/react-style-singleton@2.2.3/package.json +0 -90
  909. package/third-party/npm/react@19.3.0/LICENSE +0 -21
  910. package/third-party/npm/react@19.3.0/package.json +0 -51
  911. package/third-party/npm/scheduler@0.28.0/LICENSE +0 -21
  912. package/third-party/npm/scheduler@0.28.0/package.json +0 -27
  913. package/third-party/npm/tslib@2.8.1/LICENSE.txt +0 -12
  914. package/third-party/npm/tslib@2.8.1/package.json +0 -47
  915. package/third-party/npm/typescript@5.9.3/LICENSE.txt +0 -55
  916. package/third-party/npm/typescript@5.9.3/ThirdPartyNoticeText.txt +0 -193
  917. package/third-party/npm/typescript@5.9.3/package.json +0 -120
  918. package/third-party/npm/use-callback-ref@1.3.3/LICENSE +0 -21
  919. package/third-party/npm/use-callback-ref@1.3.3/package.json +0 -85
  920. package/third-party/npm/use-sidecar@1.1.3/LICENSE +0 -21
  921. package/third-party/npm/use-sidecar@1.1.3/package.json +0 -93
  922. package/third-party/packages/render-engine/assets/OFL.txt +0 -93
  923. package/third-party/packages/studio/public/fonts/OFL.txt +0 -93
  924. package/third-party/packages/studio/vendor/osmo-icons/LICENSE +0 -21
  925. package/third-party/packages/studio/vendor/shadcn/LICENSE +0 -21
  926. package/third-party/repository-notices.md +0 -41
  927. package/third-party/rust-standard-library/COPYRIGHT-library.html +0 -5556
  928. package/third-party/rust-standard-library/licenses/Apache-2.0.txt +0 -73
  929. package/third-party/rust-standard-library/licenses/BSD-2-Clause.txt +0 -9
  930. package/third-party/rust-standard-library/licenses/CC-BY-SA-4.0.txt +0 -427
  931. package/third-party/rust-standard-library/licenses/GCC-exception-3.1.txt +0 -30
  932. package/third-party/rust-standard-library/licenses/GPL-2.0-only.txt +0 -133
  933. package/third-party/rust-standard-library/licenses/GPL-3.0-or-later.txt +0 -202
  934. package/third-party/rust-standard-library/licenses/ISC.txt +0 -7
  935. package/third-party/rust-standard-library/licenses/LLVM-exception.txt +0 -15
  936. package/third-party/rust-standard-library/licenses/MIT.txt +0 -9
  937. package/third-party/rust-standard-library/licenses/NCSA.txt +0 -29
  938. package/third-party/rust-standard-library/licenses/OFL-1.1.txt +0 -43
  939. package/third-party/rust-standard-library/licenses/Unicode-3.0.txt +0 -39
  940. package/third-party/rust-standard-library/version.txt +0 -1
  941. package/vendor/osmo-lite +0 -0
  942. package/vendor/osmo-scene-0.1.0.tgz +0 -0
  943. package/vendor/platform.json +0 -1
@@ -1,1425 +0,0 @@
1
- /*!
2
- * Copyright (c) 2026-present, Vanilagy and contributors
3
- *
4
- * This Source Code Form is subject to the terms of the Mozilla Public
5
- * License, v. 2.0. If a copy of the MPL was not distributed with this
6
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
7
- */
8
-
9
- import { AdtsMuxer } from './adts/adts-muxer';
10
- import {
11
- AUDIO_CODECS,
12
- AudioCodec,
13
- MediaCodec,
14
- NON_PCM_AUDIO_CODECS,
15
- PCM_AUDIO_CODECS,
16
- SUBTITLE_CODECS,
17
- SubtitleCodec,
18
- VIDEO_CODECS,
19
- VideoCodec,
20
- } from './codec';
21
- import { FlacMuxer } from './flac/flac-muxer';
22
- import { IsobmffMuxer } from './isobmff/isobmff-muxer';
23
- import { MatroskaMuxer } from './matroska/matroska-muxer';
24
- import { MediaSource } from './media-source';
25
- import { Mp3Muxer } from './mp3/mp3-muxer';
26
- import { Muxer } from './muxer';
27
- import { OggMuxer } from './ogg/ogg-muxer';
28
- import { Output, OutputTrack, TrackType } from './output';
29
- import { MpegTsMuxer } from './mpeg-ts/mpeg-ts-muxer';
30
- import { WaveMuxer } from './wave/wave-muxer';
31
- import { HlsMuxer } from './hls/hls-muxer';
32
- import { HLS_MIME_TYPE } from './hls/hls-misc';
33
- import { MaybePromise, FilePath, toArray } from './misc';
34
- import { Target } from './target';
35
-
36
- /**
37
- * Specifies an inclusive range of integers.
38
- * @group Miscellaneous
39
- * @public
40
- */
41
- export type InclusiveIntegerRange = {
42
- /** The integer cannot be less than this. */
43
- min: number;
44
- /** The integer cannot be greater than this. */
45
- max: number;
46
- };
47
-
48
- /**
49
- * Specifies the number of tracks (for each track type and in total) that an output format supports.
50
- * @group Output formats
51
- * @public
52
- */
53
- export type TrackCountLimits = {
54
- [K in TrackType]: InclusiveIntegerRange;
55
- } & {
56
- /** Specifies the overall allowed range of track counts for the output format. */
57
- total: InclusiveIntegerRange;
58
- };
59
-
60
- /**
61
- * Base class representing an output media file format.
62
- * @group Output formats
63
- * @public
64
- */
65
- export abstract class OutputFormat {
66
- /** @internal */
67
- abstract _createMuxer(output: Output): Muxer;
68
- /** @internal */
69
- abstract get _name(): string;
70
-
71
- /** The file extension used by this output format, beginning with a dot. */
72
- abstract get fileExtension(): string;
73
- /** The base MIME type of the output format. */
74
- abstract get mimeType(): string;
75
- /** Returns a list of media codecs that this output format can contain. */
76
- abstract getSupportedCodecs(): MediaCodec[];
77
- /** Returns the number of tracks that this output format supports. */
78
- abstract getSupportedTrackCounts(): TrackCountLimits;
79
- /** Whether this output format supports video rotation metadata. */
80
- abstract get supportsVideoRotationMetadata(): boolean;
81
- /**
82
- * Whether this output format's tracks store timestamped media data. When `true`, the timestamps of added packets
83
- * will be respected, allowing things like gaps in media data or non-zero start times. When `false`, the format's
84
- * media data implicitly starts at zero and follows an implicit sequential timing from there, using the intrinsic
85
- * durations of the media data.
86
- */
87
- abstract get supportsTimestampedMediaData(): boolean;
88
-
89
- /** Returns a list of video codecs that this output format can contain. */
90
- getSupportedVideoCodecs(): VideoCodec[] {
91
- return this.getSupportedCodecs()
92
- .filter(codec => (VIDEO_CODECS as readonly string[]).includes(codec)) as VideoCodec[];
93
- }
94
-
95
- /** Returns a list of audio codecs that this output format can contain. */
96
- getSupportedAudioCodecs(): AudioCodec[] {
97
- return this.getSupportedCodecs()
98
- .filter(codec => (AUDIO_CODECS as readonly string[]).includes(codec)) as AudioCodec[];
99
- }
100
-
101
- /** Returns a list of subtitle codecs that this output format can contain. */
102
- getSupportedSubtitleCodecs(): SubtitleCodec[] {
103
- return this.getSupportedCodecs()
104
- .filter(codec => (SUBTITLE_CODECS as readonly string[]).includes(codec)) as SubtitleCodec[];
105
- }
106
-
107
- /** @internal */
108
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
109
- _codecUnsupportedHint(codec: MediaCodec) {
110
- return '';
111
- }
112
- }
113
-
114
- /**
115
- * ISOBMFF-specific output options.
116
- * @group Output formats
117
- * @public
118
- */
119
- export type IsobmffOutputFormatOptions = {
120
- /**
121
- * Controls the placement of metadata in the file. Placing metadata at the start of the file is known as "Fast
122
- * Start", which results in better playback at the cost of more required processing or memory.
123
- *
124
- * Use `false` to disable Fast Start, placing the metadata at the end of the file. Fastest and uses the least
125
- * memory.
126
- *
127
- * Use `'in-memory'` to produce a file with Fast Start by keeping all media chunks in memory until the file is
128
- * finalized. This produces a high-quality and compact output at the cost of a more expensive finalization step and
129
- * higher memory requirements. Data will be written monotonically (in order) when this option is set.
130
- *
131
- * Use `'reserve'` to reserve space at the start of the file into which the metadata will be written later. This
132
- * produces a file with Fast Start but requires knowledge about the expected length of the file beforehand. When
133
- * using this option, you must set the {@link BaseTrackMetadata.maximumPacketCount} field in the track metadata
134
- * for all tracks.
135
- *
136
- * Use `'fragmented'` to place metadata at the start of the file by creating a fragmented file (fMP4). In a
137
- * fragmented file, chunks of media and their metadata are written to the file in "fragments", eliminating the need
138
- * to put all metadata in one place. Fragmented files are useful for streaming contexts, as each fragment can be
139
- * played individually without requiring knowledge of the other fragments. Furthermore, they remain lightweight to
140
- * create even for very large files, as they don't require all media to be kept in memory. However, fragmented files
141
- * are not as widely and wholly supported as regular MP4/MOV files. Data will be written monotonically (in order)
142
- * when this option is set.
143
- *
144
- * When this field is not defined, either `false` or `'in-memory'` will be used, automatically determined based on
145
- * the type of output target used.
146
- */
147
- fastStart?: false | 'in-memory' | 'reserve' | 'fragmented';
148
-
149
- /**
150
- * When using `fastStart: 'fragmented'`, this field controls the minimum duration of each fragment, in seconds.
151
- * New fragments will only be created when the current fragment is longer than this value. Defaults to 1 second.
152
- */
153
- minimumFragmentDuration?: number;
154
-
155
- /**
156
- * The metadata format to use for writing metadata tags.
157
- *
158
- * - `'auto'` (default): Behaves like `'mdir'` for MP4 and like `'udta'` for QuickTime, matching FFmpeg's default
159
- * behavior.
160
- * - `'mdir'`: Write tags into `moov/udta/meta` using the 'mdir' handler format.
161
- * - `'mdta'`: Write tags into `moov/udta/meta` using the 'mdta' handler format, equivalent to FFmpeg's
162
- * `use_metadata_tags` flag. This allows for custom keys of arbitrary length.
163
- * - `'udta'`: Write tags directly into `moov/udta`.
164
- */
165
- metadataFormat?: 'auto' | 'mdir' | 'mdta' | 'udta';
166
-
167
- /**
168
- * Will be called once the ftyp (File Type) box of the output file has been written.
169
- *
170
- * @param data - The raw bytes.
171
- * @param position - The byte offset of the data in the file.
172
- */
173
- onFtyp?: (data: Uint8Array, position: number) => unknown;
174
-
175
- /**
176
- * Will be called once the moov (Movie) box of the output file has been written.
177
- *
178
- * @param data - The raw bytes.
179
- * @param position - The byte offset of the data in the file.
180
- */
181
- onMoov?: (data: Uint8Array, position: number) => unknown;
182
-
183
- /**
184
- * Will be called for each finalized mdat (Media Data) box of the output file. Usage of this callback is not
185
- * recommended when not using `fastStart: 'fragmented'`, as there will be one monolithic mdat box which might
186
- * require large amounts of memory.
187
- *
188
- * @param data - The raw bytes.
189
- * @param position - The byte offset of the data in the file.
190
- */
191
- onMdat?: (data: Uint8Array, position: number) => unknown;
192
-
193
- /**
194
- * Will be called for each finalized moof (Movie Fragment) box of the output file.
195
- *
196
- * @param data - The raw bytes.
197
- * @param position - The byte offset of the data in the file.
198
- * @param timestamp - The start timestamp of the fragment in seconds.
199
- */
200
- onMoof?: (data: Uint8Array, position: number, timestamp: number) => unknown;
201
- };
202
-
203
- /**
204
- * Format representing files compatible with the ISO base media file format (ISOBMFF), like MP4 or MOV files.
205
- * @group Output formats
206
- * @public
207
- */
208
- export abstract class IsobmffOutputFormat extends OutputFormat {
209
- /** @internal */
210
- _options: IsobmffOutputFormatOptions;
211
-
212
- /** Internal constructor. */
213
- constructor(options: IsobmffOutputFormatOptions = {}) {
214
- if (!options || typeof options !== 'object') {
215
- throw new TypeError('options must be an object.');
216
- }
217
- if (
218
- options.fastStart !== undefined
219
- && ![false, 'in-memory', 'reserve', 'fragmented'].includes(options.fastStart)
220
- ) {
221
- throw new TypeError(
222
- 'options.fastStart, when provided, must be false, \'in-memory\', \'reserve\', or \'fragmented\'.',
223
- );
224
- }
225
- if (
226
- options.minimumFragmentDuration !== undefined
227
- && (!Number.isFinite(options.minimumFragmentDuration) || options.minimumFragmentDuration < 0)
228
- ) {
229
- throw new TypeError('options.minimumFragmentDuration, when provided, must be a non-negative number.');
230
- }
231
- if (options.onFtyp !== undefined && typeof options.onFtyp !== 'function') {
232
- throw new TypeError('options.onFtyp, when provided, must be a function.');
233
- }
234
- if (options.onMoov !== undefined && typeof options.onMoov !== 'function') {
235
- throw new TypeError('options.onMoov, when provided, must be a function.');
236
- }
237
- if (options.onMdat !== undefined && typeof options.onMdat !== 'function') {
238
- throw new TypeError('options.onMdat, when provided, must be a function.');
239
- }
240
- if (options.onMoof !== undefined && typeof options.onMoof !== 'function') {
241
- throw new TypeError('options.onMoof, when provided, must be a function.');
242
- }
243
- if (
244
- options.metadataFormat !== undefined
245
- && !['mdir', 'mdta', 'udta', 'auto'].includes(options.metadataFormat)
246
- ) {
247
- throw new TypeError(
248
- 'options.metadataFormat, when provided, must be either \'auto\', \'mdir\', \'mdta\', or \'udta\'.',
249
- );
250
- }
251
-
252
- super();
253
-
254
- this._options = options;
255
- }
256
-
257
- getSupportedTrackCounts(): TrackCountLimits {
258
- const max = 2 ** 32 - 1; // Have fun reaching this one
259
-
260
- return {
261
- video: { min: 0, max },
262
- audio: { min: 0, max },
263
- subtitle: { min: 0, max },
264
- total: { min: 1, max },
265
- };
266
- }
267
-
268
- get supportsVideoRotationMetadata() {
269
- return true;
270
- }
271
-
272
- get supportsTimestampedMediaData() {
273
- return true;
274
- }
275
-
276
- /** @internal */
277
- _createMuxer(output: Output) {
278
- return new IsobmffMuxer(output, this);
279
- }
280
- }
281
-
282
- /**
283
- * MPEG-4 Part 14 (MP4) file format. Supports most codecs.
284
- * @group Output formats
285
- * @public
286
- */
287
- export class Mp4OutputFormat extends IsobmffOutputFormat {
288
- /** Creates a new {@link Mp4OutputFormat} configured with the specified `options`. */
289
- constructor(options?: IsobmffOutputFormatOptions) {
290
- super(options);
291
- }
292
-
293
- /** @internal */
294
- get _name() {
295
- return 'MP4';
296
- }
297
-
298
- get fileExtension() {
299
- return '.mp4';
300
- }
301
-
302
- get mimeType() {
303
- return 'video/mp4';
304
- }
305
-
306
- getSupportedCodecs(): MediaCodec[] {
307
- return [
308
- ...VIDEO_CODECS,
309
- ...NON_PCM_AUDIO_CODECS,
310
-
311
- // These are supported via ISO/IEC 23003-5:
312
- 'pcm-s16',
313
- 'pcm-s16be',
314
- 'pcm-s24',
315
- 'pcm-s24be',
316
- 'pcm-s32',
317
- 'pcm-s32be',
318
- 'pcm-f32',
319
- 'pcm-f32be',
320
- 'pcm-f64',
321
- 'pcm-f64be',
322
-
323
- ...SUBTITLE_CODECS,
324
- ];
325
- }
326
-
327
- /** @internal */
328
- override _codecUnsupportedHint(codec: MediaCodec) {
329
- if (new MovOutputFormat().getSupportedCodecs().includes(codec)) {
330
- return ' Switching to MOV will grant support for this codec.';
331
- }
332
-
333
- return '';
334
- }
335
- }
336
-
337
- /**
338
- * CMAF-specific output options.
339
- * @group Output formats
340
- * @public
341
- */
342
- export type CmafOutputFormatOptions = Omit<IsobmffOutputFormatOptions, 'fastStart'> & {
343
- /**
344
- * Controls the minimum duration of each fragment, in seconds. New fragments will only be created when the current
345
- * fragment is longer than this value. Defaults to `Infinity`, meaning the file will contain only one fragment.
346
- */
347
- minimumFragmentDuration?: number;
348
- };
349
-
350
- /**
351
- * Creates a single Common Media Application Format (CMAF) segment. An init segment will be written to the
352
- * {@link Target} specified in {@link OutputOptions.initTarget}. Supports most codecs.
353
- * @group Output formats
354
- * @public
355
- */
356
- export class CmafOutputFormat extends IsobmffOutputFormat {
357
- /** Creates a new {@link CmafOutputFormat} configured with the specified `options`. */
358
- constructor(options?: CmafOutputFormatOptions) {
359
- super(options);
360
- }
361
-
362
- /** @internal */
363
- get _name() {
364
- return 'CMAF';
365
- }
366
-
367
- get fileExtension() {
368
- return '.m4s';
369
- }
370
-
371
- get mimeType() {
372
- return 'video/mp4';
373
- }
374
-
375
- getSupportedCodecs(): MediaCodec[] {
376
- return [
377
- ...VIDEO_CODECS,
378
- ...NON_PCM_AUDIO_CODECS,
379
-
380
- // These are supported via ISO/IEC 23003-5:
381
- 'pcm-s16',
382
- 'pcm-s16be',
383
- 'pcm-s24',
384
- 'pcm-s24be',
385
- 'pcm-s32',
386
- 'pcm-s32be',
387
- 'pcm-f32',
388
- 'pcm-f32be',
389
- 'pcm-f64',
390
- 'pcm-f64be',
391
-
392
- ...SUBTITLE_CODECS,
393
- ];
394
- }
395
- }
396
-
397
- /**
398
- * QuickTime File Format (QTFF), often called MOV. Supports all video and audio codecs, but not subtitle codecs.
399
- * @group Output formats
400
- * @public
401
- */
402
- export class MovOutputFormat extends IsobmffOutputFormat {
403
- /** Creates a new {@link MovOutputFormat} configured with the specified `options`. */
404
- constructor(options?: IsobmffOutputFormatOptions) {
405
- super(options);
406
- }
407
-
408
- /** @internal */
409
- get _name() {
410
- return 'MOV';
411
- }
412
-
413
- get fileExtension() {
414
- return '.mov';
415
- }
416
-
417
- get mimeType() {
418
- return 'video/quicktime';
419
- }
420
-
421
- getSupportedCodecs(): MediaCodec[] {
422
- return [
423
- ...VIDEO_CODECS,
424
- ...AUDIO_CODECS,
425
- ];
426
- }
427
-
428
- /** @internal */
429
- override _codecUnsupportedHint(codec: MediaCodec) {
430
- if (new Mp4OutputFormat().getSupportedCodecs().includes(codec)) {
431
- return ' Switching to MP4 will grant support for this codec.';
432
- }
433
-
434
- return '';
435
- }
436
- }
437
-
438
- /**
439
- * Matroska-specific output options.
440
- * @group Output formats
441
- * @public
442
- */
443
- export type MkvOutputFormatOptions = {
444
- /**
445
- * Configures the output to only append new data at the end, useful for live-streaming the file as it's being
446
- * created. When enabled, some features such as storing duration and seeking will be disabled or impacted, so don't
447
- * use this option when you want to write out a clean file for later use.
448
- */
449
- appendOnly?: boolean;
450
-
451
- /**
452
- * This field controls the minimum duration of each Matroska cluster, in seconds. New clusters will only be created
453
- * when the current cluster is longer than this value. Defaults to 1 second.
454
- */
455
- minimumClusterDuration?: number;
456
-
457
- /**
458
- * Will be called once the EBML header of the output file has been written.
459
- *
460
- * @param data - The raw bytes.
461
- * @param position - The byte offset of the data in the file.
462
- */
463
- onEbmlHeader?: (data: Uint8Array, position: number) => void;
464
-
465
- /**
466
- * Will be called once the header part of the Matroska Segment element has been written. The header data includes
467
- * the Segment element and everything inside it, up to (but excluding) the first Matroska Cluster.
468
- *
469
- * @param data - The raw bytes.
470
- * @param position - The byte offset of the data in the file.
471
- */
472
- onSegmentHeader?: (data: Uint8Array, position: number) => unknown;
473
-
474
- /**
475
- * Will be called for each finalized Matroska Cluster of the output file.
476
- *
477
- * @param data - The raw bytes.
478
- * @param position - The byte offset of the data in the file.
479
- * @param timestamp - The start timestamp of the cluster in seconds.
480
- */
481
- onCluster?: (data: Uint8Array, position: number, timestamp: number) => unknown;
482
- };
483
-
484
- /**
485
- * Matroska file format.
486
- *
487
- * Supports writing transparent video. For a video track to be marked as transparent, the first packet added must
488
- * contain alpha side data.
489
- *
490
- * @group Output formats
491
- * @public
492
- */
493
- export class MkvOutputFormat extends OutputFormat {
494
- /** @internal */
495
- _options: MkvOutputFormatOptions;
496
-
497
- /** Creates a new {@link MkvOutputFormat} configured with the specified `options`. */
498
- constructor(options: MkvOutputFormatOptions = {}) {
499
- if (!options || typeof options !== 'object') {
500
- throw new TypeError('options must be an object.');
501
- }
502
- if (options.appendOnly !== undefined && typeof options.appendOnly !== 'boolean') {
503
- throw new TypeError('options.appendOnly, when provided, must be a boolean.');
504
- }
505
- if (
506
- options.minimumClusterDuration !== undefined
507
- && (!Number.isFinite(options.minimumClusterDuration) || options.minimumClusterDuration < 0)
508
- ) {
509
- throw new TypeError('options.minimumClusterDuration, when provided, must be a non-negative number.');
510
- }
511
- if (options.onEbmlHeader !== undefined && typeof options.onEbmlHeader !== 'function') {
512
- throw new TypeError('options.onEbmlHeader, when provided, must be a function.');
513
- }
514
- if (options.onSegmentHeader !== undefined && typeof options.onSegmentHeader !== 'function') {
515
- throw new TypeError('options.onHeader, when provided, must be a function.');
516
- }
517
- if (options.onCluster !== undefined && typeof options.onCluster !== 'function') {
518
- throw new TypeError('options.onCluster, when provided, must be a function.');
519
- }
520
-
521
- super();
522
-
523
- this._options = options;
524
- }
525
-
526
- /** @internal */
527
- _createMuxer(output: Output) {
528
- return new MatroskaMuxer(output, this);
529
- }
530
-
531
- /** @internal */
532
- get _name() {
533
- return 'Matroska';
534
- }
535
-
536
- getSupportedTrackCounts(): TrackCountLimits {
537
- const max = 127;
538
-
539
- return {
540
- video: { min: 0, max },
541
- audio: { min: 0, max },
542
- subtitle: { min: 0, max },
543
- total: { min: 1, max },
544
- };
545
- }
546
-
547
- get fileExtension() {
548
- return '.mkv';
549
- }
550
-
551
- get mimeType() {
552
- return 'video/x-matroska';
553
- }
554
-
555
- getSupportedCodecs(): MediaCodec[] {
556
- return [
557
- ...VIDEO_CODECS,
558
- ...NON_PCM_AUDIO_CODECS,
559
- ...PCM_AUDIO_CODECS.filter(codec => !['pcm-s8', 'pcm-f32be', 'pcm-f64be', 'ulaw', 'alaw'].includes(codec)),
560
- ...SUBTITLE_CODECS,
561
- ];
562
- }
563
-
564
- get supportsVideoRotationMetadata() {
565
- // While it technically does support it with ProjectionPoseRoll, many players appear to ignore this value
566
- return false;
567
- }
568
-
569
- get supportsTimestampedMediaData() {
570
- return true;
571
- }
572
- }
573
-
574
- /**
575
- * WebM-specific output options.
576
- * @group Output formats
577
- * @public
578
- */
579
- export type WebMOutputFormatOptions = MkvOutputFormatOptions;
580
-
581
- /**
582
- * WebM file format, based on Matroska.
583
- *
584
- * Supports writing transparent video. For a video track to be marked as transparent, the first packet added must
585
- * contain alpha side data.
586
- *
587
- * @group Output formats
588
- * @public
589
- */
590
- export class WebMOutputFormat extends MkvOutputFormat {
591
- /** Creates a new {@link WebMOutputFormat} configured with the specified `options`. */
592
- constructor(options?: MkvOutputFormatOptions) {
593
- super(options);
594
- }
595
-
596
- override getSupportedCodecs(): MediaCodec[] {
597
- return [
598
- ...VIDEO_CODECS.filter(codec => ['vp8', 'vp9', 'av1'].includes(codec)),
599
- ...AUDIO_CODECS.filter(codec => ['opus', 'vorbis'].includes(codec)),
600
- ...SUBTITLE_CODECS,
601
- ];
602
- }
603
-
604
- /** @internal */
605
- override get _name() {
606
- return 'WebM';
607
- }
608
-
609
- override get fileExtension() {
610
- return '.webm';
611
- }
612
-
613
- override get mimeType() {
614
- return 'video/webm';
615
- }
616
-
617
- /** @internal */
618
- override _codecUnsupportedHint(codec: MediaCodec) {
619
- if (new MkvOutputFormat().getSupportedCodecs().includes(codec)) {
620
- return ' Switching to MKV will grant support for this codec.';
621
- }
622
-
623
- return '';
624
- }
625
- }
626
-
627
- /**
628
- * MP3-specific output options.
629
- * @group Output formats
630
- * @public
631
- */
632
- export type Mp3OutputFormatOptions = {
633
- /**
634
- * Controls whether the Xing header, which contains additional metadata as well as an index, is written to the start
635
- * of the MP3 file. When disabled, the writing process becomes append-only. Defaults to `true`.
636
- */
637
- xingHeader?: boolean;
638
-
639
- /**
640
- * Will be called once the Xing metadata frame is finalized.
641
- *
642
- * @param data - The raw bytes.
643
- * @param position - The byte offset of the data in the file.
644
- */
645
- onXingFrame?: (data: Uint8Array, position: number) => unknown;
646
- };
647
-
648
- /**
649
- * MP3 file format.
650
- * @group Output formats
651
- * @public
652
- */
653
- export class Mp3OutputFormat extends OutputFormat {
654
- /** @internal */
655
- _options: Mp3OutputFormatOptions;
656
-
657
- /** Creates a new {@link Mp3OutputFormat} configured with the specified `options`. */
658
- constructor(options: Mp3OutputFormatOptions = {}) {
659
- if (!options || typeof options !== 'object') {
660
- throw new TypeError('options must be an object.');
661
- }
662
- if (options.xingHeader !== undefined && typeof options.xingHeader !== 'boolean') {
663
- throw new TypeError('options.xingHeader, when provided, must be a boolean.');
664
- }
665
- if (options.onXingFrame !== undefined && typeof options.onXingFrame !== 'function') {
666
- throw new TypeError('options.onXingFrame, when provided, must be a function.');
667
- }
668
-
669
- super();
670
-
671
- this._options = options;
672
- }
673
-
674
- /** @internal */
675
- _createMuxer(output: Output) {
676
- return new Mp3Muxer(output, this);
677
- }
678
-
679
- /** @internal */
680
- get _name() {
681
- return 'MP3';
682
- }
683
-
684
- getSupportedTrackCounts(): TrackCountLimits {
685
- return {
686
- video: { min: 0, max: 0 },
687
- audio: { min: 1, max: 1 },
688
- subtitle: { min: 0, max: 0 },
689
- total: { min: 1, max: 1 },
690
- };
691
- }
692
-
693
- get fileExtension() {
694
- return '.mp3';
695
- }
696
-
697
- get mimeType() {
698
- return 'audio/mpeg';
699
- }
700
-
701
- getSupportedCodecs(): MediaCodec[] {
702
- return ['mp3'];
703
- }
704
-
705
- get supportsVideoRotationMetadata() {
706
- return false;
707
- }
708
-
709
- get supportsTimestampedMediaData() {
710
- return false;
711
- }
712
- }
713
-
714
- /**
715
- * WAVE-specific output options.
716
- * @group Output formats
717
- * @public
718
- */
719
- export type WavOutputFormatOptions = {
720
- /**
721
- * When enabled, an RF64 file will be written, allowing for file sizes to exceed 4 GiB, which is otherwise not
722
- * possible for regular WAVE files.
723
- */
724
- large?: boolean;
725
-
726
- /**
727
- * The metadata format to use for writing metadata tags.
728
- *
729
- * - `'info'` (default): Writes metadata into a RIFF INFO LIST chunk, the default way to contain metadata tags
730
- * within WAVE. Only allows for a limited subset of tags to be written.
731
- * - `'id3'`: Writes metadata into an ID3 chunk. Non-default, but used by many taggers in practice. Allows for a
732
- * much larger and richer set of tags to be written.
733
- */
734
- metadataFormat?: 'info' | 'id3';
735
-
736
- /**
737
- * Will be called once the file header is written. The header consists of the RIFF header, the format chunk,
738
- * metadata chunks, and the start of the data chunk (with a placeholder size of 0).
739
- */
740
- onHeader?: (data: Uint8Array, position: number) => unknown;
741
- };
742
-
743
- /**
744
- * WAVE file format, based on RIFF.
745
- * @group Output formats
746
- * @public
747
- */
748
- export class WavOutputFormat extends OutputFormat {
749
- /** @internal */
750
- _options: WavOutputFormatOptions;
751
-
752
- /** Creates a new {@link WavOutputFormat} configured with the specified `options`. */
753
- constructor(options: WavOutputFormatOptions = {}) {
754
- if (!options || typeof options !== 'object') {
755
- throw new TypeError('options must be an object.');
756
- }
757
- if (options.large !== undefined && typeof options.large !== 'boolean') {
758
- throw new TypeError('options.large, when provided, must be a boolean.');
759
- }
760
- if (options.metadataFormat !== undefined && !['info', 'id3'].includes(options.metadataFormat)) {
761
- throw new TypeError('options.metadataFormat, when provided, must be either \'info\' or \'id3\'.');
762
- }
763
- if (options.onHeader !== undefined && typeof options.onHeader !== 'function') {
764
- throw new TypeError('options.onHeader, when provided, must be a function.');
765
- }
766
-
767
- super();
768
-
769
- this._options = options;
770
- }
771
-
772
- /** @internal */
773
- _createMuxer(output: Output) {
774
- return new WaveMuxer(output, this);
775
- }
776
-
777
- /** @internal */
778
- get _name() {
779
- return 'WAVE';
780
- }
781
-
782
- getSupportedTrackCounts(): TrackCountLimits {
783
- return {
784
- video: { min: 0, max: 0 },
785
- audio: { min: 1, max: 1 },
786
- subtitle: { min: 0, max: 0 },
787
- total: { min: 1, max: 1 },
788
- };
789
- }
790
-
791
- get fileExtension() {
792
- return '.wav';
793
- }
794
-
795
- get mimeType() {
796
- return 'audio/wav';
797
- }
798
-
799
- getSupportedCodecs(): MediaCodec[] {
800
- return [
801
- ...PCM_AUDIO_CODECS.filter(codec =>
802
- ['pcm-s16', 'pcm-s24', 'pcm-s32', 'pcm-f32', 'pcm-f64', 'pcm-u8', 'ulaw', 'alaw'].includes(codec),
803
- ),
804
- ];
805
- }
806
-
807
- get supportsVideoRotationMetadata() {
808
- return false;
809
- }
810
-
811
- get supportsTimestampedMediaData() {
812
- return false;
813
- }
814
- }
815
-
816
- /**
817
- * Ogg-specific output options.
818
- * @group Output formats
819
- * @public
820
- */
821
- export type OggOutputFormatOptions = {
822
- /**
823
- * The maximum duration of each Ogg page, in seconds. This is useful for streaming contexts where more frequent page
824
- * output is desired. By default, pages are only flushed when they exceed a certain size.
825
- */
826
- maximumPageDuration?: number;
827
-
828
- /**
829
- * Will be called for each Ogg page that is written.
830
- *
831
- * @param data - The raw bytes.
832
- * @param position - The byte offset of the data in the file.
833
- * @param source - The {@link MediaSource} backing the page's logical bitstream (track).
834
- */
835
- onPage?: (data: Uint8Array, position: number, source: MediaSource) => unknown;
836
- };
837
-
838
- /**
839
- * Ogg file format.
840
- * @group Output formats
841
- * @public
842
- */
843
- export class OggOutputFormat extends OutputFormat {
844
- /** @internal */
845
- _options: OggOutputFormatOptions;
846
-
847
- /** Creates a new {@link OggOutputFormat} configured with the specified `options`. */
848
- constructor(options: OggOutputFormatOptions = {}) {
849
- if (!options || typeof options !== 'object') {
850
- throw new TypeError('options must be an object.');
851
- }
852
- if (
853
- options.maximumPageDuration !== undefined
854
- && (!Number.isFinite(options.maximumPageDuration) || options.maximumPageDuration <= 0)
855
- ) {
856
- throw new TypeError('options.maximumPageDuration, when provided, must be a positive number.');
857
- }
858
- if (options.onPage !== undefined && typeof options.onPage !== 'function') {
859
- throw new TypeError('options.onPage, when provided, must be a function.');
860
- }
861
-
862
- super();
863
-
864
- this._options = options;
865
- }
866
-
867
- /** @internal */
868
- _createMuxer(output: Output) {
869
- return new OggMuxer(output, this);
870
- }
871
-
872
- /** @internal */
873
- get _name() {
874
- return 'Ogg';
875
- }
876
-
877
- getSupportedTrackCounts(): TrackCountLimits {
878
- const max = 2 ** 32; // Have fun reaching this one
879
-
880
- return {
881
- video: { min: 0, max: 0 },
882
- audio: { min: 0, max },
883
- subtitle: { min: 0, max: 0 },
884
- total: { min: 1, max },
885
- };
886
- }
887
-
888
- get fileExtension() {
889
- return '.ogg';
890
- }
891
-
892
- get mimeType() {
893
- return 'application/ogg';
894
- }
895
-
896
- getSupportedCodecs(): MediaCodec[] {
897
- return [
898
- ...AUDIO_CODECS.filter(codec => ['vorbis', 'opus'].includes(codec)),
899
- ];
900
- }
901
-
902
- get supportsVideoRotationMetadata() {
903
- return false;
904
- }
905
-
906
- get supportsTimestampedMediaData() {
907
- return false;
908
- }
909
- }
910
-
911
- /**
912
- * ADTS-specific output options.
913
- * @group Output formats
914
- * @public
915
- */
916
- export type AdtsOutputFormatOptions = {
917
- /**
918
- * Will be called for each ADTS frame that is written.
919
- *
920
- * @param data - The raw bytes.
921
- * @param position - The byte offset of the data in the file.
922
- */
923
- onFrame?: (data: Uint8Array, position: number) => unknown;
924
- };
925
-
926
- /**
927
- * ADTS file format.
928
- * @group Output formats
929
- * @public
930
- */
931
- export class AdtsOutputFormat extends OutputFormat {
932
- /** @internal */
933
- _options: AdtsOutputFormatOptions;
934
-
935
- /** Creates a new {@link AdtsOutputFormat} configured with the specified `options`. */
936
- constructor(options: AdtsOutputFormatOptions = {}) {
937
- if (!options || typeof options !== 'object') {
938
- throw new TypeError('options must be an object.');
939
- }
940
- if (options.onFrame !== undefined && typeof options.onFrame !== 'function') {
941
- throw new TypeError('options.onFrame, when provided, must be a function.');
942
- }
943
-
944
- super();
945
-
946
- this._options = options;
947
- }
948
-
949
- /** @internal */
950
- _createMuxer(output: Output) {
951
- return new AdtsMuxer(output, this);
952
- }
953
-
954
- /** @internal */
955
- get _name() {
956
- return 'ADTS';
957
- }
958
-
959
- getSupportedTrackCounts(): TrackCountLimits {
960
- return {
961
- video: { min: 0, max: 0 },
962
- audio: { min: 1, max: 1 },
963
- subtitle: { min: 0, max: 0 },
964
- total: { min: 1, max: 1 },
965
- };
966
- }
967
-
968
- get fileExtension() {
969
- return '.aac';
970
- }
971
-
972
- get mimeType() {
973
- return 'audio/aac';
974
- }
975
-
976
- getSupportedCodecs(): MediaCodec[] {
977
- return ['aac'];
978
- }
979
-
980
- get supportsVideoRotationMetadata() {
981
- return false;
982
- }
983
-
984
- get supportsTimestampedMediaData() {
985
- return false;
986
- }
987
- }
988
-
989
- /**
990
- * FLAC-specific output options.
991
- * @group Output formats
992
- * @public
993
- */
994
- export type FlacOutputFormatOptions = {
995
- /**
996
- * Configures the output to only append new data at the end, useful for live-streaming the file as it's being
997
- * created. When enabled, the STREAMINFO block will not be finalized with accurate min/max block sizes, frame sizes,
998
- * or total sample count, so don't use this option when you want to write out a clean file for later use.
999
- */
1000
- appendOnly?: boolean;
1001
-
1002
- /**
1003
- * Will be called for each FLAC frame that is written.
1004
- *
1005
- * @param data - The raw bytes.
1006
- * @param position - The byte offset of the data in the file.
1007
- */
1008
- onFrame?: (data: Uint8Array, position: number) => unknown;
1009
- };
1010
-
1011
- /**
1012
- * FLAC file format.
1013
- * @group Output formats
1014
- * @public
1015
- */
1016
- export class FlacOutputFormat extends OutputFormat {
1017
- /** @internal */
1018
- _options: FlacOutputFormatOptions;
1019
-
1020
- /** Creates a new {@link FlacOutputFormat} configured with the specified `options`. */
1021
- constructor(options: FlacOutputFormatOptions = {}) {
1022
- if (!options || typeof options !== 'object') {
1023
- throw new TypeError('options must be an object.');
1024
- }
1025
- if (options.appendOnly !== undefined && typeof options.appendOnly !== 'boolean') {
1026
- throw new TypeError('options.appendOnly, when provided, must be a boolean.');
1027
- }
1028
-
1029
- super();
1030
-
1031
- this._options = options;
1032
- }
1033
-
1034
- /** @internal */
1035
- _createMuxer(output: Output) {
1036
- return new FlacMuxer(output, this);
1037
- }
1038
-
1039
- /** @internal */
1040
- get _name() {
1041
- return 'FLAC';
1042
- }
1043
-
1044
- getSupportedTrackCounts(): TrackCountLimits {
1045
- return {
1046
- video: { min: 0, max: 0 },
1047
- audio: { min: 1, max: 1 },
1048
- subtitle: { min: 0, max: 0 },
1049
- total: { min: 1, max: 1 },
1050
- };
1051
- }
1052
-
1053
- get fileExtension() {
1054
- return '.flac';
1055
- }
1056
-
1057
- get mimeType() {
1058
- return 'audio/flac';
1059
- }
1060
-
1061
- getSupportedCodecs(): MediaCodec[] {
1062
- return ['flac'];
1063
- }
1064
-
1065
- get supportsVideoRotationMetadata() {
1066
- return false;
1067
- }
1068
-
1069
- get supportsTimestampedMediaData() {
1070
- return false;
1071
- }
1072
- }
1073
-
1074
- /**
1075
- * MPEG-TS-specific output options.
1076
- * @group Output formats
1077
- * @public
1078
- */
1079
- export type MpegTsOutputFormatOptions = {
1080
- /**
1081
- * Will be called for each 188-byte Transport Stream packet that is written.
1082
- *
1083
- * @param data - The raw bytes.
1084
- * @param position - The byte offset of the data in the file.
1085
- */
1086
- onPacket?: (data: Uint8Array, position: number) => unknown;
1087
- };
1088
-
1089
- /**
1090
- * MPEG Transport Stream file format.
1091
- * @group Output formats
1092
- * @public
1093
- */
1094
- export class MpegTsOutputFormat extends OutputFormat {
1095
- /** @internal */
1096
- _options: MpegTsOutputFormatOptions;
1097
-
1098
- /** Creates a new {@link MpegTsOutputFormat} configured with the specified `options`. */
1099
- constructor(options: MpegTsOutputFormatOptions = {}) {
1100
- if (!options || typeof options !== 'object') {
1101
- throw new TypeError('options must be an object.');
1102
- }
1103
- if (options.onPacket !== undefined && typeof options.onPacket !== 'function') {
1104
- throw new TypeError('options.onPacket, when provided, must be a function.');
1105
- }
1106
-
1107
- super();
1108
-
1109
- this._options = options;
1110
- }
1111
-
1112
- /** @internal */
1113
- _createMuxer(output: Output) {
1114
- return new MpegTsMuxer(output, this);
1115
- }
1116
-
1117
- /** @internal */
1118
- get _name() {
1119
- return 'MPEG-TS';
1120
- }
1121
-
1122
- getSupportedTrackCounts(): TrackCountLimits {
1123
- const maxVideo = 16; // Stream IDs 0xE0-0xEF
1124
- const maxAudio = 32;
1125
- const maxTotal = maxVideo + maxAudio;
1126
-
1127
- return {
1128
- video: { min: 0, max: maxVideo },
1129
- audio: { min: 0, max: maxAudio },
1130
- subtitle: { min: 0, max: 0 },
1131
- total: { min: 1, max: maxTotal },
1132
- };
1133
- }
1134
-
1135
- get fileExtension() {
1136
- return '.ts';
1137
- }
1138
-
1139
- get mimeType() {
1140
- return 'video/MP2T';
1141
- }
1142
-
1143
- getSupportedCodecs(): MediaCodec[] {
1144
- return [
1145
- ...VIDEO_CODECS.filter(codec => ['avc', 'hevc'].includes(codec)),
1146
- ...AUDIO_CODECS.filter(codec => ['aac', 'mp3', 'ac3', 'eac3'].includes(codec)),
1147
- ];
1148
- }
1149
-
1150
- get supportsVideoRotationMetadata() {
1151
- return false;
1152
- }
1153
-
1154
- get supportsTimestampedMediaData() {
1155
- return true;
1156
- }
1157
- }
1158
-
1159
- /**
1160
- * Info about an HLS media playlist.
1161
- * @group Output formats
1162
- * @public
1163
- */
1164
- export type HlsOutputPlaylistInfo = {
1165
- /** The 1-based index of the media playlist in the master playlist. */
1166
- n: number;
1167
- /** The output tracks contained in this playlist. */
1168
- tracks: OutputTrack[];
1169
- /** The format of the media segments in this playlist. */
1170
- segmentFormat: OutputFormat;
1171
- };
1172
-
1173
- /**
1174
- * Info about an HLS media segment.
1175
- * @group Output formats
1176
- * @public
1177
- */
1178
- export type HlsOutputSegmentInfo = {
1179
- /** The 1-based index of the segment in the containing media playlist. */
1180
- n: number;
1181
- /** If the segment is a single file, meaning it is a single segment file that covers the entire playlist. */
1182
- isSingleFile: boolean;
1183
- /** The format of the media segment. */
1184
- format: OutputFormat;
1185
- /** The media playlist to which this segment belongs. */
1186
- playlist: HlsOutputPlaylistInfo;
1187
- };
1188
-
1189
- /**
1190
- * HLS-specific output options.
1191
- * @group Output formats
1192
- * @public
1193
- */
1194
- export type HlsOutputFormatOptions = {
1195
- /**
1196
- * Specifies the file format of each media segment. Not all formats are supported by all players; prefer sticking
1197
- * to the most commonly used ones: {@link MpegTsOutputFormat}, {@link CmafOutputFormat}, {@link AdtsOutputFormat},
1198
- * and {@link Mp3OutputFormat}.
1199
- *
1200
- * When an array of formats is specified, for each playlist, the first format that can contain all of the playlist's
1201
- * tracks is chosen. This allows you to, for example, package audio into .aac files and video into .ts files.
1202
- */
1203
- segmentFormat: OutputFormat | OutputFormat[];
1204
- /**
1205
- * Specifies the target (max) duration in seconds for each media segment, defaulting to 2 seconds.
1206
- *
1207
- * Mediabunny will try not to emit media segments longer than the target duration, but it is forced to if key frames
1208
- * are provided with a longer period than the target duration. Therefore, make sure to encode a key frame at least
1209
- * every `targetDuration` seconds to guarantee segment length, controllable via
1210
- * {@link VideoEncodingConfig.keyFrameInterval}.
1211
- */
1212
- targetDuration?: number;
1213
- /**
1214
- * Whether to bundle all media segments for a playlist into a single file. Individual segments are then extracted
1215
- * via range requests.
1216
- */
1217
- singleFilePerPlaylist?: boolean;
1218
- /**
1219
- * If `true`, the muxer will be in "live mode", continuously emitting updated playlists as new segments are created.
1220
- * The master playlist will be emitted as soon as all playlists have been emitted at least once, and will continue
1221
- * to be emitted each time a segment is finalized to further refine the accuracy of the `BANDWIDTH` attribute.
1222
- *
1223
- * When `false` (the default), all playlists will only be emitted once, upon output finalization.
1224
- */
1225
- live?: boolean;
1226
- /**
1227
- * When in live mode, this controls the maximum number of segments contained in each playlist. Defaults to
1228
- * `Infinity`, meaning playlists continually grow in size.
1229
- */
1230
- maxLiveSegmentCount?: number;
1231
- /**
1232
- * Returns the file path for a given media playlist. If the returned path is relative, it is relative to the root
1233
- * path.
1234
- *
1235
- * Defaults to `'playlist-{n}.m3u8'`, where `n` is the 1-based index of the media playlist in the master playlist.
1236
- */
1237
- getPlaylistPath?: (info: HlsOutputPlaylistInfo) => MaybePromise<FilePath>;
1238
- /**
1239
- * Returns the file path for a given media segment. If the returned path is relative, it is relative to the path
1240
- * of the containing playlist.
1241
- *
1242
- * Defaults to `'segment-{n}-{k}{ext}'`, where `n` is the 1-based index of the containing media playlist in the
1243
- * master playlist, `k` is the 1-based index of the segment in its playlist, and `ext` is the file extension of the
1244
- * segment format (including the leading dot).
1245
- *
1246
- * If {@link HlsOutputFormatOptions.singleFilePerPlaylist} is true, it defaults to `'segments-{n}{ext}'` instead.
1247
- */
1248
- getSegmentPath?: (info: HlsOutputSegmentInfo) => MaybePromise<FilePath>;
1249
- /**
1250
- * Returns the file path for a given media init segment. If the returned path is relative, it is relative to the
1251
- * path of the containing playlist.
1252
- *
1253
- * Only necessary for segment formats that require an init file, such as {@link CmafOutputFormat}.
1254
- *
1255
- * Defaults to `'init-{n}{ext}'`, where `n` is the 1-based index of the containing media playlist in the master
1256
- * playlist and `ext` is the file extension of the segment format (including the leading dot).
1257
- */
1258
- getInitPath?: (info: HlsOutputPlaylistInfo) => MaybePromise<FilePath>;
1259
-
1260
- /** Called whenever the master playlist is written. */
1261
- onMaster?: (content: string) => unknown;
1262
- /** Called whenever a media playlist is written. */
1263
- onPlaylist?: (content: string, info: HlsOutputPlaylistInfo) => unknown;
1264
- /**
1265
- * Called whenever a media segment has been fully written. In single-file mode, this function will only be called
1266
- * once when the playlist is finalized.
1267
- */
1268
- onSegment?: (target: Target, info: HlsOutputSegmentInfo) => unknown;
1269
- /**
1270
- * Called when a media playlist is initialized, before any segments have been written. In single-file mode, this
1271
- * function is never called.
1272
- */
1273
- onInit?: (target: Target, info: HlsOutputPlaylistInfo) => unknown;
1274
- /**
1275
- * Called when a media segment is removed from the start of a media playlist due to
1276
- * {@link HlsOutputFormatOptions.maxLiveSegmentCount}. Will not be called when
1277
- * {@link HlsOutputFormatOptions.singleFilePerPlaylist} is `true`.
1278
- */
1279
- onSegmentPopped?: (path: string, info: HlsOutputSegmentInfo) => unknown;
1280
- };
1281
-
1282
- /**
1283
- * HTTP Live Streaming (HLS) output format. HLS media is represented by a set of .m3u8 playlist files and media segment
1284
- * files, meaning this format writes out multiple files, requiring the use of a _pathed Output_
1285
- * ({@link OutputOptions.target} must be a {@link PathedTarget}).
1286
- *
1287
- * This output format creates the following files:
1288
- * - A master playlist .m3u8 file, containing the list of available playlists. A master playlist is always emitted,
1289
- * written to the root path.
1290
- * - One .m3u8 file for each playlist, each containing a list of media segments.
1291
- * - Many media segments, containing the actual media data.
1292
- *
1293
- * To emit media playlists that use the `#EXT-X-PROGRAM-DATE-TIME` tag to map segment timestamps to real-world time,
1294
- * set {@link BaseTrackMetadata.isRelativeToUnixEpoch} to `true` for all tracks.
1295
- *
1296
- * @group Output formats
1297
- * @public
1298
- */
1299
- export class HlsOutputFormat extends OutputFormat {
1300
- /** @internal */
1301
- _options: HlsOutputFormatOptions;
1302
-
1303
- /** Creates a new {@link HlsOutputFormat} configured with the specified `options`. */
1304
- constructor(options: HlsOutputFormatOptions) {
1305
- if (!options || typeof options !== 'object') {
1306
- throw new TypeError('options must be an object.');
1307
- }
1308
- if (
1309
- !(options.segmentFormat instanceof OutputFormat)
1310
- && (
1311
- !Array.isArray(options.segmentFormat)
1312
- || options.segmentFormat.length === 0
1313
- || !options.segmentFormat.every(format => format instanceof OutputFormat)
1314
- )
1315
- ) {
1316
- throw new TypeError(
1317
- 'options.segmentFormat must be an OutputFormat or a non-empty array of OutputFormat instances.',
1318
- );
1319
- }
1320
- if (
1321
- options.targetDuration !== undefined
1322
- && (typeof options.targetDuration !== 'number' || options.targetDuration <= 0)
1323
- ) {
1324
- throw new TypeError('options.targetDuration, when provided, must be a positive number.');
1325
- }
1326
- if (options.singleFilePerPlaylist !== undefined && typeof options.singleFilePerPlaylist !== 'boolean') {
1327
- throw new TypeError('options.singleFilePerPlaylist, when provided, must be a boolean.');
1328
- }
1329
- if (options.live !== undefined && typeof options.live !== 'boolean') {
1330
- throw new TypeError('options.live, when provided, must be a boolean.');
1331
- }
1332
- if (
1333
- options.maxLiveSegmentCount !== undefined
1334
- && (typeof options.maxLiveSegmentCount !== 'number' || options.maxLiveSegmentCount < 1
1335
- || (Number.isFinite(options.maxLiveSegmentCount) && !Number.isInteger(options.maxLiveSegmentCount)))
1336
- ) {
1337
- throw new TypeError('options.maxLiveSegmentCount, when provided, must be a positive integer or Infinity.');
1338
- }
1339
- if (options.getPlaylistPath !== undefined && typeof options.getPlaylistPath !== 'function') {
1340
- throw new TypeError('options.getPlaylistPath, when provided, must be a function.');
1341
- }
1342
- if (options.getSegmentPath !== undefined && typeof options.getSegmentPath !== 'function') {
1343
- throw new TypeError('options.getSegmentPath, when provided, must be a function.');
1344
- }
1345
- if (options.getInitPath !== undefined && typeof options.getInitPath !== 'function') {
1346
- throw new TypeError('options.getInitPath, when provided, must be a function.');
1347
- }
1348
- if (options.onMaster !== undefined && typeof options.onMaster !== 'function') {
1349
- throw new TypeError('options.onMaster, when provided, must be a function.');
1350
- }
1351
- if (options.onPlaylist !== undefined && typeof options.onPlaylist !== 'function') {
1352
- throw new TypeError('options.onPlaylist, when provided, must be a function.');
1353
- }
1354
- if (options.onSegment !== undefined && typeof options.onSegment !== 'function') {
1355
- throw new TypeError('options.onSegment, when provided, must be a function.');
1356
- }
1357
- if (options.onInit !== undefined && typeof options.onInit !== 'function') {
1358
- throw new TypeError('options.onInit, when provided, must be a function.');
1359
- }
1360
- if (options.onSegmentPopped !== undefined && typeof options.onSegmentPopped !== 'function') {
1361
- throw new TypeError('options.onSegmentPopped, when provided, must be a function.');
1362
- }
1363
-
1364
- super();
1365
-
1366
- this._options = options;
1367
- }
1368
-
1369
- /** @internal */
1370
- _createMuxer(output: Output): Muxer {
1371
- return new HlsMuxer(output, this);
1372
- }
1373
-
1374
- /** @internal */
1375
- get _name() {
1376
- return 'HTTP Live Streaming (HLS)';
1377
- }
1378
-
1379
- get fileExtension() {
1380
- return '.m3u8';
1381
- }
1382
-
1383
- get mimeType() {
1384
- return HLS_MIME_TYPE;
1385
- }
1386
-
1387
- getSupportedCodecs(): MediaCodec[] {
1388
- const uniqueCodecs = new Set(toArray(this._options.segmentFormat).flatMap(x => x.getSupportedCodecs()));
1389
- return [...uniqueCodecs];
1390
- }
1391
-
1392
- getSupportedTrackCounts(): TrackCountLimits {
1393
- let supportsVideo = false;
1394
- let supportsAudio = false;
1395
- let supportsSubtitle = false;
1396
-
1397
- for (const format of toArray(this._options.segmentFormat)) {
1398
- const trackCounts = format.getSupportedTrackCounts();
1399
- supportsVideo ||= trackCounts.video.max > 0;
1400
- supportsAudio ||= trackCounts.audio.max > 0;
1401
- supportsSubtitle ||= trackCounts.subtitle.max > 0;
1402
- }
1403
-
1404
- return {
1405
- video: { min: 0, max: supportsVideo ? Infinity : 0 },
1406
- audio: { min: 0, max: supportsAudio ? Infinity : 0 },
1407
- subtitle: { min: 0, max: 0 }, // Currently disabled
1408
- total: { min: 1, max: Infinity },
1409
- };
1410
- }
1411
-
1412
- get supportsVideoRotationMetadata(): boolean {
1413
- return toArray(this._options.segmentFormat).some(format => format.supportsVideoRotationMetadata);
1414
- }
1415
-
1416
- get supportsTimestampedMediaData(): boolean {
1417
- return true; // I guess??
1418
- }
1419
-
1420
- /** @internal */
1421
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1422
- override _codecUnsupportedHint(codec: MediaCodec): string {
1423
- return ` Using different segment formats may grant support for this codec.`;
1424
- }
1425
- }