hyperframes 0.8.181 → 0.8.184

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 (218) hide show
  1. package/bin/hyperframes.mjs +3 -1
  2. package/dist/{add-AWQ2EGBU.js → add-5ZTD3MUZ.js} +22 -22
  3. package/dist/{animatedGifPrep-SENXJ7TN.js → animatedGifPrep-AGASIWVA.js} +14 -13
  4. package/dist/api.js +29 -28
  5. package/dist/{asset-XBH3MN3Y.js → asset-LSTEMPIB.js} +3 -3
  6. package/dist/{assetCataloger-KH4X2CRO.js → assetCataloger-BKBMNL3A.js} +16 -13
  7. package/dist/{audio-Q7I473UN.js → audio-KGK44XE4.js} +31 -30
  8. package/dist/{auth-I7CBTEUS.js → auth-MJWKYK77.js} +4 -4
  9. package/dist/{autoUpdate-KY5TLSN7.js → autoUpdate-2GGDKYR2.js} +2 -2
  10. package/dist/{backgroundChecks-4Q3VVK5W.js → backgroundChecks-7GRX5VQY.js} +3 -3
  11. package/dist/backgroundChecksWorker.js +3 -3
  12. package/dist/{batchRender-3AYDQRBI.js → batchRender-BCV2LELR.js} +7 -7
  13. package/dist/{beats-P4LENNVT.js → beats-7BCFRBAL.js} +12 -12
  14. package/dist/{benchmark-AXOAECN3.js → benchmark-2R6CN5MQ.js} +24 -24
  15. package/dist/{browser-XZKB5HGJ.js → browser-6AFGOI7G.js} +20 -20
  16. package/dist/{bundleWithLocalizedFonts-2WCR57IN.js → bundleWithLocalizedFonts-2EGPA5ZO.js} +2 -2
  17. package/dist/{capture-NWARHRHR.js → capture-HA2UHLIU.js} +8 -5
  18. package/dist/{capture-4RN4APDF.js → capture-HOIAW6MO.js} +50 -41
  19. package/dist/{captureCompositionFrame-QOF5BRF4.js → captureCompositionFrame-4236FVWJ.js} +22 -20
  20. package/dist/{captureTimeout-K2JNVVCI.js → captureTimeout-RIMG6IYH.js} +1 -1
  21. package/dist/{catalog-CRPOPVD5.js → catalog-A6CZAWW4.js} +42 -42
  22. package/dist/{catch-up-MHWGUQ42.js → catch-up-TNA4DJOA.js} +15 -15
  23. package/dist/check-5E5U2EQZ.js +117 -0
  24. package/dist/checkBrowser-FNINXBMZ.js +118 -0
  25. package/dist/{chunk-OJTDUF4W.js → chunk-2PVE4WS2.js} +1 -1
  26. package/dist/{checkBrowser-VES2NF3K.js → chunk-2ULXZ4PG.js} +187 -114
  27. package/dist/{chunk-WITHUCCB.js → chunk-2XA7KXQO.js} +2 -2
  28. package/dist/{chunk-HODBPO4A.js → chunk-3MDJIWOV.js} +626 -328
  29. package/dist/{chunk-JBCU6NR5.js → chunk-3QVMJ7GX.js} +56 -55
  30. package/dist/{chunk-OR5WCFWZ.js → chunk-3TXNNBI2.js} +2 -2
  31. package/dist/{chunk-IZM562YJ.js → chunk-4KKKBEP3.js} +4 -4
  32. package/dist/{chunk-XEWHUPFS.js → chunk-4N4P3ZWL.js} +2 -2
  33. package/dist/{chunk-537IYAEE.js → chunk-4UMPIPCQ.js} +9 -1
  34. package/dist/{chunk-J4L5TPLS.js → chunk-5UDRPPN2.js} +48 -6
  35. package/dist/{chunk-L3YOGIPG.js → chunk-66LREXGS.js} +1 -1
  36. package/dist/{chunk-6I7V6Q7F.js → chunk-74JMKLVU.js} +103 -20
  37. package/dist/{chunk-3PULCIY5.js → chunk-7HJALUIO.js} +5 -5
  38. package/dist/{chunk-GZVP4TWN.js → chunk-7JAD4MEW.js} +1 -1
  39. package/dist/{chunk-NAMGMP3R.js → chunk-7KVVNF7B.js} +1 -1
  40. package/dist/{chunk-TO6JNTML.js → chunk-7MB2ZAQF.js} +13 -8
  41. package/dist/{chunk-55IG255C.js → chunk-7NRI7HYX.js} +1 -1
  42. package/dist/{chunk-VAJIPSN6.js → chunk-ABZYYUUH.js} +1 -1
  43. package/dist/{chunk-GK2FIKIQ.js → chunk-ADDHW2FS.js} +214 -37
  44. package/dist/{chunk-ZUOSILUE.js → chunk-BCHSTE7U.js} +1 -1
  45. package/dist/{chunk-AOWDVB2T.js → chunk-CXABAXB3.js} +1 -1
  46. package/dist/{chunk-E24HSMZV.js → chunk-CYBXXSC4.js} +65 -14
  47. package/dist/{chunk-NZZYJOMJ.js → chunk-CZUAX3BV.js} +6 -5
  48. package/dist/{chunk-GV5R5B7Q.js → chunk-DGECWPTL.js} +1 -1
  49. package/dist/{chunk-BRHI7EIA.js → chunk-DKPNNYBZ.js} +4 -0
  50. package/dist/{chunk-UIDZRCBG.js → chunk-DWUGKEHR.js} +1 -1
  51. package/dist/{chunk-D3ZWBHZP.js → chunk-DYAPHNV6.js} +3 -2
  52. package/dist/{chunk-T7UHTUUE.js → chunk-E32ZQ2WO.js} +9 -9
  53. package/dist/{chunk-RGHQID2E.js → chunk-EHSBBBR2.js} +5 -3
  54. package/dist/{chunk-DJJ7SK4F.js → chunk-EM7C7H7S.js} +8 -8
  55. package/dist/{chunk-XSRUVMXK.js → chunk-ES426XRJ.js} +4 -4
  56. package/dist/chunk-FG4BBFZI.js +122 -0
  57. package/dist/{chunk-JMFJI26U.js → chunk-FGJEUV4S.js} +2 -2
  58. package/dist/{check-DJCUOUDI.js → chunk-GDEV42FA.js} +198 -142
  59. package/dist/{chunk-RXQHSGAQ.js → chunk-HR23IKLZ.js} +2 -2
  60. package/dist/{chunk-KMAAOHLO.js → chunk-HRPWRZGF.js} +1 -1
  61. package/dist/{chunk-UPFUC4DB.js → chunk-HTIUNMTP.js} +1 -1
  62. package/dist/{chunk-V2UNZ7QP.js → chunk-ICJEAFPD.js} +25 -14
  63. package/dist/{chunk-EOADENKV.js → chunk-IWTNTUPQ.js} +16 -14
  64. package/dist/chunk-IZCW2NKT.js +29 -0
  65. package/dist/{chunk-XFCLWWL3.js → chunk-J36JVBLR.js} +11 -4
  66. package/dist/{chunk-LBQFLUIY.js → chunk-J3QM7AHP.js} +9 -49
  67. package/dist/{chunk-DUN63LHY.js → chunk-JB6ARMQS.js} +2 -2
  68. package/dist/{chunk-5E5EYPZO.js → chunk-JIUTXKWA.js} +7 -7
  69. package/dist/{chunk-YJDB4FLT.js → chunk-JQYJXUJW.js} +1 -1
  70. package/dist/{chunk-PBN6GBJE.js → chunk-JVBRJMOP.js} +14 -1
  71. package/dist/{chunk-RHWJKSGH.js → chunk-KANNRHY7.js} +1 -1
  72. package/dist/{chunk-IL3GTCQY.js → chunk-KN46TGHV.js} +72 -140
  73. package/dist/{chunk-OFY6JTZC.js → chunk-LLC4CS6I.js} +2 -2
  74. package/dist/{chunk-OJDXABUF.js → chunk-LRGYPXHF.js} +2 -2
  75. package/dist/{chunk-GNE57O7U.js → chunk-MFAETWIF.js} +1 -1
  76. package/dist/{chunk-32GKETR7.js → chunk-MMQ52NIZ.js} +74 -0
  77. package/dist/chunk-MOEGCMKI.js +180 -0
  78. package/dist/{chunk-E6RPWJVC.js → chunk-NAUKCKCJ.js} +5 -1
  79. package/dist/{chunk-B4VT6YU2.js → chunk-OLZENUPI.js} +50 -7
  80. package/dist/{chunk-H4YZZ2VQ.js → chunk-PFD25NAC.js} +1 -1
  81. package/dist/{chunk-XH262OWN.js → chunk-PFYWVUHA.js} +1 -1
  82. package/dist/{chunk-S3RYRF3W.js → chunk-PSKEKWVU.js} +1 -1
  83. package/dist/{chunk-N5SXQCJL.js → chunk-Q33P4EAC.js} +3 -3
  84. package/dist/{chunk-3DKN5WKL.js → chunk-QH3T4WI2.js} +77 -6
  85. package/dist/{chunk-O5AE7HOP.js → chunk-QL2PNIXC.js} +37 -33
  86. package/dist/{chunk-WUUCEFL5.js → chunk-R2BFTECP.js} +5 -5
  87. package/dist/chunk-R2SQBPMH.js +3805 -0
  88. package/dist/{chunk-YPBIAONI.js → chunk-RGXVEYHI.js} +230 -162
  89. package/dist/{chunk-YMS6CJCD.js → chunk-SAX7HQ5E.js} +1 -1
  90. package/dist/{chunk-KIO3R4QN.js → chunk-SN7KI5JA.js} +27 -14
  91. package/dist/{chunk-4USWWI2Y.js → chunk-TE427YID.js} +2 -2
  92. package/dist/{chunk-ICMXC3MI.js → chunk-U6RXZNZE.js} +31 -18
  93. package/dist/{chunk-X7CCSMRR.js → chunk-UJKUB2LH.js} +16 -16
  94. package/dist/{chunk-K26FR4SM.js → chunk-UKOTVJFV.js} +12 -12
  95. package/dist/{chunk-4OT3FWVV.js → chunk-UNNXFKVG.js} +2 -2
  96. package/dist/{chunk-PF7OWVTL.js → chunk-VDM3FEDP.js} +2 -2
  97. package/dist/{chunk-Y5GY6Y7A.js → chunk-VNVQGDPC.js} +2 -2
  98. package/dist/{chunk-22QHO26F.js → chunk-W64L7IFS.js} +1 -1
  99. package/dist/{chunk-Y2RXRPL2.js → chunk-WHPN2TIT.js} +5 -5
  100. package/dist/{chunk-65WIUIHL.js → chunk-WTFUDNW2.js} +7 -15
  101. package/dist/{chunk-3XDOGSRD.js → chunk-X3CG5YQA.js} +3 -3
  102. package/dist/{chunk-UZOZ2W2E.js → chunk-XGHHVYC7.js} +96 -34
  103. package/dist/{chunk-4IEH6EAC.js → chunk-YALM6XN4.js} +203 -58
  104. package/dist/{chunk-B6JLCPT3.js → chunk-YOZPQCSR.js} +6 -6
  105. package/dist/{chunk-5JMZLQT6.js → chunk-YWHCXIMD.js} +16 -16
  106. package/dist/{chunk-UVEQLDKB.js → chunk-YWNJTZGN.js} +3 -2
  107. package/dist/{chunk-WUQUR33W.js → chunk-ZOCHDXDG.js} +1 -1
  108. package/dist/{chunk-IWTRHPTP.js → chunk-ZRHO6YMM.js} +8 -8
  109. package/dist/{clean-GJNDVVDI.js → clean-HGASSMWI.js} +41 -40
  110. package/dist/cli.js +68 -64
  111. package/dist/{cloud-JCWNMKXC.js → cloud-JPDVNXHN.js} +4 -4
  112. package/dist/{cloudrun-2BKGY53X.js → cloudrun-AMMGSDRP.js} +8 -8
  113. package/dist/commands/layout-audit.browser.js +15 -4
  114. package/dist/commands/motion-signature.browser.js +52 -0
  115. package/dist/{compare-XWM7FAYM.js → compare-LHHVHUN3.js} +51 -47
  116. package/dist/{compiler-U3W6CJW7.js → compiler-Q3N6QXMT.js} +6 -6
  117. package/dist/{component-CBRAE325.js → component-D72J32Q7.js} +4 -4
  118. package/dist/{compositions-EZYJEHQ3.js → compositions-UQRJ5ROG.js} +29 -29
  119. package/dist/{contactSheet-27SRU7A4.js → contactSheet-CAGMKI3E.js} +3 -1
  120. package/dist/{delete-JWWMOITI.js → delete-P42VIDDA.js} +9 -9
  121. package/dist/{deploy-UGOV76OH.js → deploy-WZTH57O4.js} +11 -11
  122. package/dist/{destroy-QBLMYDBF.js → destroy-4B5HW5FH.js} +5 -5
  123. package/dist/{deterministicFonts-L7YEEFGI.js → deterministicFonts-VQ5UBMXY.js} +2 -2
  124. package/dist/{dist-VO7OXOFK.js → dist-DYS24AMA.js} +5 -5
  125. package/dist/{dist-2FMTAVGL.js → dist-SENYPQGW.js} +4 -4
  126. package/dist/{docs-MPOM3PHH.js → docs-UEWLIP6D.js} +1 -1
  127. package/dist/{doctor-XSKSZRR7.js → doctor-KEJIG2SK.js} +28 -27
  128. package/dist/{events-RGS4MAH4.js → events-CYKSNR7N.js} +6 -6
  129. package/dist/{events-AIZODZMP.js → events-UZXFQPMT.js} +9 -9
  130. package/dist/{feedback-GE3VDZOH.js → feedback-LXNQF7CA.js} +35 -35
  131. package/dist/{ffmpeg-SCXZTR6X.js → ffmpeg-BYHON577.js} +16 -15
  132. package/dist/{figma-3R4XST4Y.js → figma-EIQ35PS6.js} +3 -3
  133. package/dist/fontLocalizeCli.js +24 -23
  134. package/dist/{get-4FKJP6IM.js → get-CC2YL7QO.js} +9 -9
  135. package/dist/{gpuPolicy-4NNXESM7.js → gpuPolicy-VFSACUQV.js} +14 -13
  136. package/dist/{grade-compare-FAYVPXUR.js → grade-compare-TUQL7IV2.js} +56 -50
  137. package/dist/{help-C3UQMYXK.js → help-ROROO5K6.js} +1 -1
  138. package/dist/{history-LDGQ2IZJ.js → history-PNELYLXX.js} +15 -15
  139. package/dist/hyperframe.manifest.json +1 -1
  140. package/dist/hyperframe.runtime.iife.js +59 -59
  141. package/dist/hyperframes-player.global.js +8 -3
  142. package/dist/{info-KMXFLD3Q.js → info-4FZTH6AS.js} +20 -20
  143. package/dist/{init-D7GYHSX5.js → init-I43GHHVP.js} +69 -68
  144. package/dist/{inspect-CUKWHCGS.js → inspect-IT4TYIZ3.js} +46 -44
  145. package/dist/{installer-EPRSH6QI.js → installer-CWOJVK5K.js} +7 -7
  146. package/dist/{keyframes-XCUPHBW3.js → keyframes-3FBOGVD4.js} +16 -16
  147. package/dist/{lambda-IMORFJHN.js → lambda-H3V32I7M.js} +15 -15
  148. package/dist/{layout-JD2IOBMS.js → layout-BZ5LYJ5C.js} +46 -44
  149. package/dist/{lint-FHLER36Y.js → lint-ZTNSGP2S.js} +23 -23
  150. package/dist/{lintProject-ARKJXDQF.js → lintProject-C2ONSH2U.js} +4 -4
  151. package/dist/{list-MGCFG5MA.js → list-XM4GWJYY.js} +10 -10
  152. package/dist/{login-QX6M4UTR.js → login-H6HYKMWX.js} +7 -7
  153. package/dist/{logout-DKJANASY.js → logout-DDC4QLVK.js} +3 -3
  154. package/dist/{manager-IETAVBZS.js → manager-TWVDSJXO.js} +17 -16
  155. package/dist/{manager-V2QCCPOJ.js → manager-UHWEKPXC.js} +8 -3
  156. package/dist/{media-treatment-MDAQRITV.js → media-treatment-N7MY5NXB.js} +34 -33
  157. package/dist/{media-use-4XXGABIL.js → media-use-JBN57JE3.js} +1 -1
  158. package/dist/{models-NZAOSI5A.js → models-WEMIMYBD.js} +25 -24
  159. package/dist/{motionShot-6ZDUM2K4.js → motionShot-RHICTVPU.js} +29 -26
  160. package/dist/{normalize-audio-7PRYX6QM.js → normalize-audio-ZFUZCJE3.js} +12 -12
  161. package/dist/{open-I254NY5J.js → open-IBJ4FL3G.js} +24 -24
  162. package/dist/{parakeetRunner-TL3TOGUS.js → parakeetRunner-XXO4WSLR.js} +26 -25
  163. package/dist/{pipeline-YPERVOQM.js → pipeline-6ML3LUVK.js} +19 -18
  164. package/dist/{play-MYI7BYKS.js → play-RV4NAVF5.js} +40 -38
  165. package/dist/{policies-5NTZOHJA.js → policies-XXNGXWHV.js} +1 -1
  166. package/dist/{preflight-HRCSZ52D.js → preflight-R3DEFMLA.js} +19 -18
  167. package/dist/{present-WYXQDV4Q.js → present-5TBJGE6B.js} +34 -33
  168. package/dist/{preview-535HTWQO.js → preview-FLKZ5CXJ.js} +56 -55
  169. package/dist/{producer-C76CRJ5O.js → producer-7XYSPVKH.js} +1 -1
  170. package/dist/{progress-I37JB7R4.js → progress-NHJIHAAG.js} +2 -2
  171. package/dist/{projectConfig-5QCNTGQT.js → projectConfig-TBU2VWZX.js} +9 -9
  172. package/dist/{publication-2QT7VVE2.js → publication-CWWUJYJ5.js} +5 -5
  173. package/dist/{publish-53EBL7OO.js → publish-FSNE4FEB.js} +28 -27
  174. package/dist/{refresh-MGCVWX56.js → refresh-RXTOPRBB.js} +3 -3
  175. package/dist/{remove-background-OBYHMPD4.js → remove-background-MDFWRWCT.js} +32 -31
  176. package/dist/render-DBGQZAZT.js +1516 -0
  177. package/dist/{render-3MELF6Y3.js → render-F4JQ553X.js} +102 -96
  178. package/dist/{render-75CRB3BW.js → render-LWZKXCLY.js} +8 -8
  179. package/dist/{render-batch-CEVWUYBP.js → render-batch-PU7NMLIJ.js} +8 -8
  180. package/dist/renderSetupWorker.js +12 -9
  181. package/dist/{resolver-4ICE2AT6.js → resolver-RUBGFXPC.js} +7 -7
  182. package/dist/{screenshotCapture-HXEZ3TNJ.js → screenshotCapture-UBY6TT75.js} +33 -6
  183. package/dist/{sherpa-L4UACXT3.js → sherpa-X2TBNO6P.js} +25 -24
  184. package/dist/{sites-3ZBYB5X4.js → sites-MAVH57MO.js} +2 -2
  185. package/dist/skills/hyperframes/references/review-loop.md +1 -1
  186. package/dist/{skills-DXTQPCAO.js → skills-WHKMWO2D.js} +17 -17
  187. package/dist/{skillsUpdateCheck-ULXRGLDU.js → skillsUpdateCheck-XQGZGJJG.js} +3 -3
  188. package/dist/{snapshot-PWFHQU5E.js → snapshot-M4NUUSNU.js} +73 -71
  189. package/dist/{src-RDSWHMJS.js → src-4UYM2K3S.js} +34 -26
  190. package/dist/{src-S7NVL5VF.js → src-6MSC62U2.js} +23 -19
  191. package/dist/{state-KAXGHF77.js → state-ORRPOLMQ.js} +2 -2
  192. package/dist/{staticProjectServer-GYPUQGI7.js → staticProjectServer-ERDTFP45.js} +21 -20
  193. package/dist/{status-BV7QAUQD.js → status-CM7IQTU2.js} +6 -6
  194. package/dist/studio/assets/{hyperframes-player-DcD3NXpX.js → hyperframes-player-DEncBxR7.js} +7 -2
  195. package/dist/studio/assets/{index-CFrZAwKo.js → index-BABXr78Q.js} +4 -4
  196. package/dist/studio/assets/{index-BIDKYk0h.js → index-Cc22mgvY.js} +1 -1
  197. package/dist/studio/index.html +1 -1
  198. package/dist/{studio-api-IXGX5ZFI.js → studio-api-SAKD3VKC.js} +18 -17
  199. package/dist/{studioServer-LA5Z7RSS.js → studioServer-IRI7EVOM.js} +91 -84
  200. package/dist/{telemetry-STEMAMAX.js → telemetry-F4XADVAF.js} +10 -10
  201. package/dist/{telemetry-CQYHCCPL.js → telemetry-QG5AANZ4.js} +1 -1
  202. package/dist/{timeline-KLD24EN6.js → timeline-5I444RRE.js} +42 -41
  203. package/dist/{tokens-ICLORAA4.js → tokens-LRRYM35A.js} +3 -3
  204. package/dist/{transcribe-A6IKK7VS.js → transcribe-44XDFNVU.js} +48 -47
  205. package/dist/{transcribe-CTHZLRXF.js → transcribe-WHYHWAB2.js} +20 -19
  206. package/dist/{tts-EDK3QS7M.js → tts-A2WILYGN.js} +6 -6
  207. package/dist/{updateCheck-FHCAAAXA.js → updateCheck-7CPH3CAZ.js} +2 -2
  208. package/dist/{upgrade-7EV4F2R7.js → upgrade-WW4GQ2RI.js} +3 -3
  209. package/dist/{urlDownloader-MIMGVASJ.js → urlDownloader-OHLLP45A.js} +13 -12
  210. package/dist/{validate-LZF46W3V.js → validate-VNCDH2LW.js} +40 -38
  211. package/dist/{video-ZC47NFOL.js → video-5OHTLL2D.js} +17 -14
  212. package/dist/warmCheck.js +228 -0
  213. package/dist/warmCheckClient.js +139 -0
  214. package/package.json +4 -2
  215. package/dist/chunk-BAZ5LCR3.js +0 -3805
  216. package/dist/hyperframe-runtime.js +0 -1125
  217. package/dist/render-5BXTEEG7.js +0 -719
  218. package/dist/{synthesize-I2C24XJ5.js → synthesize-PKTB5ATG.js} +1 -1
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-WQ6ZXHFQ.js";
10
10
  import {
11
11
  findFFmpeg
12
- } from "./chunk-3PULCIY5.js";
12
+ } from "./chunk-7HJALUIO.js";
13
13
  import {
14
14
  stoppableExecFile
15
15
  } from "./chunk-HU2SPFNG.js";
@@ -4,12 +4,16 @@ import { dirname as __hf_dirname } from "node:path";
4
4
  var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
+ import {
8
+ alphaDecoderFor,
9
+ videoStreamHasAlpha
10
+ } from "./chunk-IZCW2NKT.js";
7
11
  import {
8
12
  firstFrameColourArgs,
9
13
  formatPreviewProxyBox,
10
14
  hdrToSdrToneMapFilter,
11
15
  parseFirstFrameColour
12
- } from "./chunk-LBQFLUIY.js";
16
+ } from "./chunk-J3QM7AHP.js";
13
17
  import {
14
18
  decodeAuthoredAttribute,
15
19
  scanHtmlOpeningTags
@@ -19,20 +23,20 @@ import {
19
23
  realProjectRoot,
20
24
  realpath
21
25
  } from "./chunk-OFQWTKPW.js";
26
+ import {
27
+ findFfBinary
28
+ } from "./chunk-VAS6HQX3.js";
22
29
  import {
23
30
  cleanAssetUrl,
24
31
  isRemoteOrInlineUrl,
25
32
  isUnresolvedAssetPlaceholder,
26
33
  resolveExistingLocalAsset
27
34
  } from "./chunk-6BNTGNGD.js";
28
- import {
29
- findFfBinary
30
- } from "./chunk-VAS6HQX3.js";
31
35
  import {
32
36
  rewriteAssetPath
33
37
  } from "./chunk-BSQ7XANM.js";
34
38
 
35
- // ../studio-server/dist/chunk-E3VGIAMJ.js
39
+ // ../studio-server/dist/chunk-OVOXGASQ.js
36
40
  import { statSync } from "fs";
37
41
  import { sep } from "path";
38
42
  import { execFile } from "child_process";
@@ -91,10 +95,6 @@ function colorLabel(input) {
91
95
  }
92
96
  return "SDR/unknown";
93
97
  }
94
- var ALPHA_PIX_FMT_RE = /^(?:yuva|rgba|argb|bgra|abgr|gbrap|ya)/;
95
- function pixelFormatHasAlpha(pixFmt) {
96
- return pixFmt !== void 0 && ALPHA_PIX_FMT_RE.test(pixFmt.toLowerCase());
97
- }
98
98
  function classifyMediaColor(stream) {
99
99
  const colorPrimaries = lower(stream?.color_primaries);
100
100
  const colorSpace = lower(stream?.color_space);
@@ -139,7 +139,7 @@ async function probeMediaMetadata(filePath, runner = execFileRunner) {
139
139
  "-v",
140
140
  "error",
141
141
  "-show_entries",
142
- "stream=codec_type,codec_name,profile,pix_fmt,color_space,color_transfer,color_primaries,bits_per_raw_sample:stream_disposition=attached_pic",
142
+ "stream=codec_type,codec_name,profile,pix_fmt,color_space,color_transfer,color_primaries,bits_per_raw_sample:stream_disposition=attached_pic:stream_tags=alpha_mode",
143
143
  "-of",
144
144
  "json",
145
145
  "--",
@@ -162,6 +162,7 @@ async function probeMediaMetadata(filePath, runner = execFileRunner) {
162
162
  const metadata = { kind, color: classifyMediaColor(stream) };
163
163
  if (kind === "video") {
164
164
  metadata.hasAudio = (parsed.streams ?? []).some((item) => item.codec_type === "audio");
165
+ metadata.hasAlpha = stream !== void 0 && videoStreamHasAlpha(stream);
165
166
  }
166
167
  return metadata;
167
168
  } catch {
@@ -249,7 +250,7 @@ async function probeCodecFacts(filePath, runner) {
249
250
  if (metadata.kind !== "video") return null;
250
251
  const codecName = metadata.color.codecName;
251
252
  if (!codecName) return null;
252
- return codecFactsFor(codecName, pixelFormatHasAlpha(metadata.color.pixelFormat));
253
+ return codecFactsFor(codecName, metadata.hasAlpha === true);
253
254
  }
254
255
  function createMediaCodecProbeCache() {
255
256
  return /* @__PURE__ */ new Map();
@@ -337,7 +338,7 @@ async function scanProjectMediaCodecMap(projectDir, htmlSources, options = {}) {
337
338
  return map;
338
339
  }
339
340
 
340
- // ../studio-server/dist/chunk-QFJR3NIL.js
341
+ // ../studio-server/dist/chunk-25IT6FMR.js
341
342
  import { spawn } from "child_process";
342
343
  import { createHash, randomUUID } from "crypto";
343
344
  import { existsSync as existsSync2, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, utimesSync } from "fs";
@@ -549,6 +550,13 @@ function getCanonicalProxyCachePath(source, variant, box) {
549
550
  `${key}${PROXY_VARIANT_CONFIG[variant].extension}`
550
551
  );
551
552
  }
553
+ function getProxyCachePath(projectDir, absoluteSourcePath, variant = "h264", box) {
554
+ return getCanonicalProxyCachePath(
555
+ canonicalizeProxySource(projectDir, absoluteSourcePath),
556
+ variant,
557
+ box
558
+ );
559
+ }
552
560
  var ProxyDroppedError = class extends ProxyTranscodeError {
553
561
  constructor() {
554
562
  super("media proxy copy dropped: every caller left", null, "");
@@ -699,7 +707,9 @@ async function runFfmpeg(sourcePath, outputPath, variant, box, signal) {
699
707
  `format=${pixelFormat}`
700
708
  ].join(",") : [evenScale, `format=${pixelFormat}`].join(",");
701
709
  return new Promise((resolvePromise, reject) => {
702
- const commonArgs = ["-y", "-i", sourcePath, "-vf", videoFilter];
710
+ const alphaDecoder = keepsAlpha ? alphaDecoderFor(metadata.color.codecName) : null;
711
+ const decoderArgs = alphaDecoder ? ["-c:v", alphaDecoder] : [];
712
+ const commonArgs = ["-y", ...decoderArgs, "-i", sourcePath, "-vf", videoFilter];
703
713
  const h264Args = [
704
714
  "-c:v",
705
715
  "libx264",
@@ -864,7 +874,8 @@ async function resolveProxy(projectDir, absoluteSourcePath, variant = "h264", bo
864
874
  if (options.priority) prioritize(entry.job);
865
875
  return joinJob(entry.promise, entry.job, options.signal);
866
876
  }
867
- async function resolveProxies(projectDir, sources) {
877
+ async function resolveProxies(projectDir, sources, onSettled = () => {
878
+ }) {
868
879
  const results = [];
869
880
  let next = 0;
870
881
  const worker = async () => {
@@ -877,6 +888,7 @@ async function resolveProxies(projectDir, sources) {
877
888
  (value) => ({ status: "fulfilled", value }),
878
889
  (reason) => ({ status: "rejected", reason })
879
890
  );
891
+ onSettled();
880
892
  }
881
893
  };
882
894
  const workers = Math.min(MAX_CONCURRENT_TRANSCODES, sources.length);
@@ -918,6 +930,7 @@ export {
918
930
  ProxyCapacityError,
919
931
  ProxyWaitTimeoutError,
920
932
  waitForProxy,
933
+ getProxyCachePath,
921
934
  proxyActivityMark,
922
935
  resolveProxy,
923
936
  resolveProxies
@@ -8,10 +8,10 @@ import {
8
8
  DEFAULT_VP9_CPU_USED,
9
9
  isHttpUrl,
10
10
  runFfmpeg
11
- } from "./chunk-YPBIAONI.js";
11
+ } from "./chunk-RGXVEYHI.js";
12
12
  import {
13
13
  parseAnimatedGifMetadata
14
- } from "./chunk-LBQFLUIY.js";
14
+ } from "./chunk-J3QM7AHP.js";
15
15
  import {
16
16
  parseHTML
17
17
  } from "./chunk-SDYDNHEE.js";
@@ -8,20 +8,20 @@ import {
8
8
  pinProjectRecord,
9
9
  realFilePath
10
10
  } from "./chunk-ALVXFXUG.js";
11
- import {
12
- isProjectIgnoredDir
13
- } from "./chunk-EVMY7IPL.js";
14
11
  import {
15
12
  atomicTempPath,
16
13
  isAtomicTempPath,
17
14
  replaceFileAtomically
18
15
  } from "./chunk-EOVYQ3IG.js";
16
+ import {
17
+ isProjectIgnoredDir
18
+ } from "./chunk-EVMY7IPL.js";
19
19
  import {
20
20
  isSafePath,
21
21
  mkdirWithinProject
22
22
  } from "./chunk-OFQWTKPW.js";
23
23
 
24
- // ../studio-server/dist/chunk-6PE5OD32.js
24
+ // ../studio-server/dist/chunk-XM2TJIF5.js
25
25
  import { randomUUID as randomUUID7 } from "crypto";
26
26
  import { mkdir as mkdir2, readdir as readdir3, rm as rm3, rmdir, writeFile } from "fs/promises";
27
27
  import {
@@ -174,6 +174,10 @@ var HistoryBusyError = class extends Error {
174
174
  pid;
175
175
  url;
176
176
  };
177
+ var WINDOWS_BUSY = /* @__PURE__ */ new Set(["EPERM", "EBUSY", "EACCES"]);
178
+ function busyOnWindows(error) {
179
+ return process.platform === "win32" && WINDOWS_BUSY.has(error.code ?? "");
180
+ }
177
181
  function alive(pid) {
178
182
  if (!Number.isInteger(pid) || pid <= 0) return false;
179
183
  try {
@@ -238,27 +242,36 @@ function servedBy(file, urlFile, pid) {
238
242
  return void 0;
239
243
  }
240
244
  }
245
+ function attemptClaim(file, urlFile, deadline) {
246
+ if (claim(file)) return "claimed";
247
+ const pid = ownerOf(file);
248
+ if (pid === null) return "retry";
249
+ if (!alive(pid) && evictDeadOwner(file)) return "retry";
250
+ if (Date.now() >= deadline) throw new HistoryBusyError(pid, servedBy(file, urlFile, pid));
251
+ return "wait";
252
+ }
241
253
  async function takeHistoryOwnership(home, waitMs, url) {
242
254
  const file = join(home, "owner.pid");
243
255
  const urlFile = join(home, "owner-url.json");
244
256
  const deadline = Date.now() + waitMs;
245
257
  mkdirSync(home, { recursive: true });
246
258
  for (; ; ) {
247
- if (claim(file)) {
248
- advertise(urlFile, url);
249
- let held = true;
250
- return () => {
251
- if (held && servedBy(file, urlFile, process.pid)) rmSync(urlFile, { force: true });
252
- if (held) releaseOwn(file);
253
- held = false;
254
- };
259
+ let next = "wait";
260
+ try {
261
+ next = attemptClaim(file, urlFile, deadline);
262
+ } catch (error) {
263
+ if (!busyOnWindows(error) || Date.now() >= deadline) throw error;
255
264
  }
256
- const pid = ownerOf(file);
257
- if (pid === null) continue;
258
- if (!alive(pid) && evictDeadOwner(file)) continue;
259
- if (Date.now() >= deadline) throw new HistoryBusyError(pid, servedBy(file, urlFile, pid));
260
- await new Promise((settle) => setTimeout(settle, 50));
261
- }
265
+ if (next === "claimed") break;
266
+ if (next === "wait") await new Promise((settle) => setTimeout(settle, 50));
267
+ }
268
+ advertise(urlFile, url);
269
+ let held = true;
270
+ return () => {
271
+ if (held && servedBy(file, urlFile, process.pid)) rmSync(urlFile, { force: true });
272
+ if (held) releaseOwn(file);
273
+ held = false;
274
+ };
262
275
  }
263
276
  var manifest = ".hyperframes/render-outputs.json";
264
277
  function readRenderOutputs(projectDir) {
@@ -6,40 +6,40 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-OJDXABUF.js";
9
+ } from "./chunk-LRGYPXHF.js";
10
10
  import {
11
11
  installPageFunctionGuard,
12
12
  resolveCliChromeGpuMode,
13
13
  seekCompositionTimeline,
14
14
  waitForRuntimeReady
15
- } from "./chunk-V2UNZ7QP.js";
15
+ } from "./chunk-ICJEAFPD.js";
16
16
  import {
17
17
  resolveCompositionViewportFromHtml
18
18
  } from "./chunk-FH7WODJH.js";
19
19
  import {
20
20
  launchManagedBrowser,
21
21
  resolveManagedGpuMode
22
- } from "./chunk-IL3GTCQY.js";
22
+ } from "./chunk-KN46TGHV.js";
23
23
  import {
24
24
  pageNavigationTimeoutMs
25
- } from "./chunk-XSRUVMXK.js";
25
+ } from "./chunk-ES426XRJ.js";
26
26
  import {
27
27
  defineCommand
28
28
  } from "./chunk-S3S4TGEH.js";
29
29
  import {
30
30
  failCommand,
31
31
  setCommandExitCode
32
- } from "./chunk-PBN6GBJE.js";
32
+ } from "./chunk-JVBRJMOP.js";
33
33
  import {
34
34
  c
35
35
  } from "./chunk-ZTZA4UWZ.js";
36
- import {
37
- printDeprecationNotice,
38
- withMeta
39
- } from "./chunk-VAJIPSN6.js";
40
36
  import {
41
37
  decodeWellFormedEscapes
42
38
  } from "./chunk-BSQ7XANM.js";
39
+ import {
40
+ printDeprecationNotice,
41
+ withMeta
42
+ } from "./chunk-ABZYYUUH.js";
43
43
  import {
44
44
  normalizeErrorMessage
45
45
  } from "./chunk-KNU5COPB.js";
@@ -227,7 +227,7 @@ function extractCompositionErrorsFromLint(lintResult) {
227
227
  async function localizeRemoteAssets(html) {
228
228
  let dir;
229
229
  try {
230
- const { loadProducer } = await import("./producer-C76CRJ5O.js");
230
+ const { loadProducer } = await import("./producer-7XYSPVKH.js");
231
231
  const { localizeRemoteMediaSources, localizeRemoteImageSources, localizeRemoteFontFaces } = await loadProducer();
232
232
  dir = mkdtempSync(join(tmpdir(), "hf-validate-assets-"));
233
233
  const assetDir = dir;
@@ -248,10 +248,10 @@ async function localizeRemoteAssets(html) {
248
248
  }
249
249
  async function validateInBrowser(project, opts) {
250
250
  const projectDir = project.dir;
251
- const { bundleToSingleHtml } = await import("./compiler-U3W6CJW7.js");
252
- const { ensureBrowser } = await import("./manager-V2QCCPOJ.js");
253
- const { serveStaticProjectHtml } = await import("./staticProjectServer-GYPUQGI7.js");
254
- const { lintProject } = await import("./lintProject-ARKJXDQF.js");
251
+ const { bundleToSingleHtml } = await import("./compiler-Q3N6QXMT.js");
252
+ const { ensureBrowser } = await import("./manager-UHWEKPXC.js");
253
+ const { serveStaticProjectHtml } = await import("./staticProjectServer-ERDTFP45.js");
254
+ const { lintProject } = await import("./lintProject-C2ONSH2U.js");
255
255
  const lintResult = await lintProject(projectDir);
256
256
  const compositionErrors = extractCompositionErrorsFromLint(lintResult);
257
257
  const html = await bundleToSingleHtml(projectDir);
@@ -272,9 +272,9 @@ async function validateInBrowser(project, opts) {
272
272
  try {
273
273
  const browser = await ensureBrowser();
274
274
  const puppeteer = await import("puppeteer-core");
275
- const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-RDSWHMJS.js");
275
+ const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-4UYM2K3S.js");
276
276
  const requestedGpuMode = resolveCliChromeGpuMode();
277
- const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-4NNXESM7.js");
277
+ const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-VFSACUQV.js");
278
278
  const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, browser.executablePath);
279
279
  const requiresWebGpu = compositionRequiresWebGpu(html);
280
280
  const { gpuConfig, softwareWebGpu } = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
@@ -7,15 +7,23 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  diag
9
9
  } from "./chunk-VWG7OQKU.js";
10
- import {
11
- getSystemMeta
12
- } from "./chunk-T6AGUTZJ.js";
13
10
  import {
14
11
  getInvocationId
15
12
  } from "./chunk-54HJ63Q2.js";
16
13
  import {
17
14
  c
18
15
  } from "./chunk-ZTZA4UWZ.js";
16
+ import {
17
+ CANARIES,
18
+ canaryEnvVar,
19
+ canaryFeatureProperties,
20
+ evaluateCanary,
21
+ findCanary,
22
+ parseCanaryOverride
23
+ } from "./chunk-FXMKHHPO.js";
24
+ import {
25
+ getSystemMeta
26
+ } from "./chunk-T6AGUTZJ.js";
19
27
  import {
20
28
  hostAnswers
21
29
  } from "./chunk-K4WIOZFP.js";
@@ -29,15 +37,7 @@ import {
29
37
  } from "./chunk-XUXGIA7H.js";
30
38
  import {
31
39
  VERSION
32
- } from "./chunk-XEWHUPFS.js";
33
- import {
34
- CANARIES,
35
- canaryEnvVar,
36
- canaryFeatureProperties,
37
- evaluateCanary,
38
- findCanary,
39
- parseCanaryOverride
40
- } from "./chunk-FXMKHHPO.js";
40
+ } from "./chunk-4N4P3ZWL.js";
41
41
 
42
42
  // src/telemetry/transport.ts
43
43
  import { spawn } from "child_process";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveConfig,
9
9
  usesSoftwareWebGpu
10
- } from "./chunk-YPBIAONI.js";
10
+ } from "./chunk-RGXVEYHI.js";
11
11
 
12
12
  // src/browser/gpuPolicy.ts
13
13
  function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
@@ -17,7 +17,7 @@ function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCE
17
17
  return "auto";
18
18
  }
19
19
  async function resolveCaptureBrowserGpuMode(requestedMode, chromePath, probeLifecycle) {
20
- const { resolveBrowserGpuMode } = await import("./src-RDSWHMJS.js");
20
+ const { resolveBrowserGpuMode } = await import("./src-4UYM2K3S.js");
21
21
  return resolveBrowserGpuMode(requestedMode, { chromePath, probeLifecycle });
22
22
  }
23
23
  function resolveLocalWebGpu(browserGpuMode, requiresWebGpu) {
@@ -6,11 +6,11 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  withOwner
9
- } from "./chunk-JMFJI26U.js";
9
+ } from "./chunk-FGJEUV4S.js";
10
10
  import {
11
11
  HistoryBusyError,
12
12
  beginArtifactCapture
13
- } from "./chunk-ICMXC3MI.js";
13
+ } from "./chunk-U6RXZNZE.js";
14
14
 
15
15
  // src/utils/artifactCapture.ts
16
16
  var SKIP_BUSY_HISTORY = { ownerWaitMs: 0 };
@@ -6,12 +6,12 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  setHostHandlesSigint
9
- } from "./chunk-YPBIAONI.js";
9
+ } from "./chunk-RGXVEYHI.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
13
13
  processParentPid
14
- } from "./chunk-22QHO26F.js";
14
+ } from "./chunk-W64L7IFS.js";
15
15
  import {
16
16
  processIsAlive
17
17
  } from "./chunk-KGPLIH7B.js";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  runRenderSetupWorker
9
- } from "./chunk-D3ZWBHZP.js";
9
+ } from "./chunk-DYAPHNV6.js";
10
10
  import {
11
11
  terminateProcessTree
12
12
  } from "./chunk-KGPLIH7B.js";
@@ -6,26 +6,26 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parakeetRunner
9
- } from "./chunk-55IG255C.js";
9
+ } from "./chunk-7NRI7HYX.js";
10
10
  import {
11
11
  DecodeCancelled,
12
12
  prepareSherpaWav,
13
13
  sherpaUnsupportedReason,
14
14
  transcribeWithSherpa
15
- } from "./chunk-WUUCEFL5.js";
15
+ } from "./chunk-R2BFTECP.js";
16
16
  import {
17
17
  initialModelForLanguage,
18
18
  transcribe
19
- } from "./chunk-3XDOGSRD.js";
19
+ } from "./chunk-X3CG5YQA.js";
20
20
  import {
21
21
  createRenderCancellationScope,
22
22
  stoppedByCancelSignal
23
- } from "./chunk-Y5GY6Y7A.js";
23
+ } from "./chunk-VNVQGDPC.js";
24
24
  import {
25
25
  DEFAULT_MODEL,
26
26
  findWhisper,
27
27
  isWhisperUnavailable
28
- } from "./chunk-YMS6CJCD.js";
28
+ } from "./chunk-SAX7HQ5E.js";
29
29
  import {
30
30
  formatSrt,
31
31
  formatVtt,
@@ -5,8 +5,9 @@ var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
- loadOptionalPackage
9
- } from "./chunk-3DKN5WKL.js";
8
+ loadOptionalPackage,
9
+ loadSharp
10
+ } from "./chunk-QH3T4WI2.js";
10
11
  import {
11
12
  downloadFile
12
13
  } from "./chunk-WQ6ZXHFQ.js";
@@ -14,13 +15,13 @@ import {
14
15
  findFFmpeg,
15
16
  findFFprobe,
16
17
  getFFmpegInstallHint
17
- } from "./chunk-3PULCIY5.js";
18
+ } from "./chunk-7HJALUIO.js";
18
19
  import {
19
20
  DEFAULT_VP9_CPU_USED,
20
21
  SDR_RGB_TO_BT709_FILTER,
21
22
  SDR_RGB_TO_TAGGED_BT709_FILTER,
22
23
  renderProvenanceArgs
23
- } from "./chunk-YPBIAONI.js";
24
+ } from "./chunk-RGXVEYHI.js";
24
25
 
25
26
  // src/background-removal/pipeline.ts
26
27
  import { spawn } from "child_process";
@@ -100,17 +101,8 @@ var INPUT_SIZE = 320;
100
101
  var INPUT_PLANE = INPUT_SIZE * INPUT_SIZE;
101
102
  var MEAN = [0.485, 0.456, 0.406];
102
103
  var STD = [0.229, 0.224, 0.225];
103
- async function loadNative(name, load) {
104
- try {
105
- return await load();
106
- } catch (err) {
107
- throw new Error(
108
- `remove-background needs the optional native module '${name}', which isn't available (${err.message}). Install it with \`npm i ${name}\`, or reinstall hyperframes with optional dependencies enabled.`
109
- );
110
- }
111
- }
112
104
  async function createSession(options = {}) {
113
- const sharp = (await loadNative("sharp", () => import("sharp"))).default;
105
+ const sharp = await loadSharp("remove-background");
114
106
  const ort = await loadOptionalPackage(
115
107
  "onnxruntime-node",
116
108
  "background removal"
@@ -270,7 +262,7 @@ function inferInputKind(inputPath) {
270
262
  }
271
263
  async function probeMedia(inputPath) {
272
264
  const isImage = inferInputKind(inputPath) === "image";
273
- const engine = await import("./src-RDSWHMJS.js");
265
+ const engine = await import("./src-4UYM2K3S.js");
274
266
  const meta = await engine.extractMediaMetadata(inputPath);
275
267
  if (isImage) {
276
268
  return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  stoppedByCancelSignal
9
- } from "./chunk-Y5GY6Y7A.js";
9
+ } from "./chunk-VNVQGDPC.js";
10
10
  import {
11
11
  DEFAULT_MODEL,
12
12
  ensureModel,
@@ -14,12 +14,12 @@ import {
14
14
  hasFFmpeg,
15
15
  pinnedWhisperModel,
16
16
  sha256File
17
- } from "./chunk-YMS6CJCD.js";
17
+ } from "./chunk-SAX7HQ5E.js";
18
18
  import {
19
19
  findFFmpeg,
20
20
  findFFprobe,
21
21
  getFFmpegInstallHint
22
- } from "./chunk-3PULCIY5.js";
22
+ } from "./chunk-7HJALUIO.js";
23
23
  import {
24
24
  findWavChunk
25
25
  } from "./chunk-UOFAE5RF.js";