hyperframes 0.8.176 → 0.8.177
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/hyperframes.mjs +3 -0
- package/dist/{add-YZGUHLDP.js → add-YVP5YBNV.js} +5 -5
- package/dist/api.d.ts +2 -0
- package/dist/api.js +5 -5
- package/dist/{asset-YPC34MTV.js → asset-CZHAZMDR.js} +2 -2
- package/dist/{audio-33JHU37L.js → audio-F37HJPGZ.js} +8 -8
- package/dist/{auth-UUIHOS2D.js → auth-CADZEUXD.js} +1 -1
- package/dist/{autoUpdate-F747BE3R.js → autoUpdate-46XNDX2V.js} +2 -2
- package/dist/{backgroundChecks-3YLO2CSC.js → backgroundChecks-UWDSDJHJ.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{beats-DQDV2ZFS.js → beats-COVC2QGG.js} +4 -4
- package/dist/{benchmark-ZPPZEIHZ.js → benchmark-HDPPG2FE.js} +5 -5
- package/dist/{browser-ZFLEP3E6.js → browser-JEIXZKJN.js} +3 -3
- package/dist/{capture-5OW6VNXU.js → capture-YMF7J55W.js} +1 -1
- package/dist/captureCompositionFrame-QUYL3DEX.js +88 -0
- package/dist/{catalog-3A6KKCWF.js → catalog-DTB6S66P.js} +18 -10
- package/dist/{catch-up-KPGCLN4C.js → catch-up-Y4KO7XHK.js} +4 -4
- package/dist/{check-I3XLXS77.js → check-3YLTRK6W.js} +41 -30
- package/dist/{checkBrowser-KX7LNAFA.js → checkBrowser-LEUOWFNZ.js} +60 -40
- package/dist/{chunk-X6ZRZWPZ.js → chunk-2CEIKEFU.js} +1 -1
- package/dist/{chunk-SSE6NWZI.js → chunk-2PNLYDGZ.js} +8 -8
- package/dist/{chunk-VER46LXI.js → chunk-2YT3SCXL.js} +1 -1
- package/dist/{chunk-5TGVURKQ.js → chunk-457OAAL2.js} +1 -1
- package/dist/{chunk-OUMYTLPP.js → chunk-4YBNQDZM.js} +1 -1
- package/dist/{chunk-7XX4QGQV.js → chunk-6GMZRHYD.js} +50 -14
- package/dist/{chunk-J53AJK3Q.js → chunk-6OV3YGZF.js} +1 -1
- package/dist/{chunk-MDTMWUJI.js → chunk-7L4JOVV7.js} +1 -1
- package/dist/{chunk-HTC3VGU3.js → chunk-AFSBPASX.js} +28 -9
- package/dist/{chunk-USEUH5VV.js → chunk-BEX7K4WO.js} +1 -1
- package/dist/{chunk-VDUTZXIJ.js → chunk-BHFIITTD.js} +3 -3
- package/dist/{chunk-RBOVQRMR.js → chunk-BQTCQ6VN.js} +6 -12
- package/dist/{chunk-SURF34CK.js → chunk-HLBAQBHT.js} +1 -1
- package/dist/{chunk-HVMHVW5G.js → chunk-JWUKHXM6.js} +1 -1
- package/dist/{chunk-R2TVJ4DW.js → chunk-M3MXTYDE.js} +1 -1
- package/dist/{chunk-44XBAKKT.js → chunk-MNEC244Z.js} +2 -2
- package/dist/{chunk-EEVCXPUA.js → chunk-MPNVXG3J.js} +2 -2
- package/dist/{chunk-BVXZYFAL.js → chunk-MXFCQCKE.js} +2 -2
- package/dist/{chunk-7LU4ZHYV.js → chunk-P3MMF2JQ.js} +1 -1
- package/dist/{chunk-GOOB64LO.js → chunk-S3T3TDAB.js} +1 -1
- package/dist/{chunk-MLRCTTSD.js → chunk-SJFA4CZ3.js} +95 -10
- package/dist/{chunk-T6NA6TR3.js → chunk-SSYUONVH.js} +2 -2
- package/dist/{chunk-KUOUUG33.js → chunk-UEGULMAH.js} +79 -37
- package/dist/{chunk-BTCHRQNV.js → chunk-WNQUXBDU.js} +2 -2
- package/dist/{chunk-OMUKSCWE.js → chunk-XXHHPB6E.js} +6 -6
- package/dist/{chunk-NGRNAF5X.js → chunk-YCRX5APY.js} +1 -1
- package/dist/{clean-6REGQY3I.js → clean-BDXOJ4PW.js} +8 -8
- package/dist/cli.js +50 -50
- package/dist/{cloud-RAQZPMNP.js → cloud-HVG2LUBO.js} +4 -4
- package/dist/commands/contrast-audit.browser.js +166 -22
- package/dist/{compare-XYFSHHMQ.js → compare-ZXORZDGQ.js} +18 -18
- package/dist/{component-CRAO6Q2E.js → component-AZHVBBVP.js} +3 -3
- package/dist/{compositions-4SHILZZX.js → compositions-WFILUFC4.js} +5 -5
- package/dist/{delete-ZS4AHMTY.js → delete-I34NH2Q4.js} +2 -2
- package/dist/{doctor-OL4FYABY.js → doctor-6YID47TF.js} +3 -3
- package/dist/{events-Z3XZCRFZ.js → events-G76VOIBQ.js} +3 -3
- package/dist/{events-LIJBGTTX.js → events-OKT2KO6S.js} +2 -2
- package/dist/{feedback-OE6SB2VE.js → feedback-EGU7SSXF.js} +4 -4
- package/dist/{figma-DMUCMO67.js → figma-SUJPNBQQ.js} +3 -3
- package/dist/fontLocalizeCli.js +1 -1
- package/dist/{get-NQOQVUI5.js → get-7MYYFGO7.js} +2 -2
- package/dist/{grade-compare-HLTHHQGH.js → grade-compare-P22VRQLA.js} +18 -18
- package/dist/{help-ZAXWHAYF.js → help-HL6QBZMC.js} +1 -1
- package/dist/{history-CMY7ZEEW.js → history-OG2IXOQA.js} +7 -7
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-STR7EYI3.js → info-7P77JIWI.js} +5 -5
- package/dist/{init-YSMKK5VG.js → init-JI7QDJV4.js} +15 -15
- package/dist/{inspect-QV6DC6GO.js → inspect-7GSF776P.js} +17 -17
- package/dist/{keyframes-HN3DW5FG.js → keyframes-6NM477BA.js} +6 -6
- package/dist/{lambda-PG3JKNWS.js → lambda-4DNBHUPF.js} +2 -2
- package/dist/{layout-O4QAR2XY.js → layout-IBDEMDYP.js} +17 -17
- package/dist/{lint-AY55R4UR.js → lint-BGAON4GT.js} +6 -6
- package/dist/{list-TH2KCVNN.js → list-PGWNFSLX.js} +2 -2
- package/dist/{login-TRCMRV4B.js → login-IAGLU3R3.js} +4 -4
- package/dist/{manager-2J4XGDZ3.js → manager-VOGZQSK4.js} +5 -3
- package/dist/{media-treatment-ET5QQSWP.js → media-treatment-Z4N3JEDB.js} +6 -6
- package/dist/{models-RFUUSCG6.js → models-QUOIJVQI.js} +4 -4
- package/dist/{motionShot-2ET565ZV.js → motionShot-GPNESXTN.js} +2 -2
- package/dist/{normalize-audio-LUOJSD3W.js → normalize-audio-C264N2QE.js} +5 -5
- package/dist/{open-MVEOYQRQ.js → open-HB5F4HSD.js} +4 -4
- package/dist/{parakeetRunner-3TG7EHWA.js → parakeetRunner-2ZQOINZQ.js} +4 -4
- package/dist/{play-I3WJPYXK.js → play-VQ4HA4CC.js} +10 -10
- package/dist/{present-DUZBKUYH.js → present-HU46P43M.js} +9 -9
- package/dist/{preview-7J5TBTRP.js → preview-LNTJ62DX.js} +5 -5
- package/dist/{render-IYTGM6DE.js → render-DV76TO7S.js} +5 -5
- package/dist/{render-JUS2ROIN.js → render-TPE44TOW.js} +21 -21
- package/dist/{sherpa-PRI3JLUP.js → sherpa-IBMU4WV6.js} +3 -3
- package/dist/skills/media-use/references/operations.md +3 -1
- package/dist/{skills-CZ6VW5SZ.js → skills-M2ANTFD6.js} +5 -5
- package/dist/{skillsUpdateCheck-K4UKUAOC.js → skillsUpdateCheck-4WNEKKDW.js} +3 -3
- package/dist/{snapshot-MPE4GIMJ.js → snapshot-5AKBT5IQ.js} +25 -25
- package/dist/{staticProjectServer-DG4VZO4G.js → staticProjectServer-UVFPQEUZ.js} +4 -4
- package/dist/studio/assets/{hyperframes-player-DBHpVw8L.js → hyperframes-player-BulZP0_1.js} +1 -1
- package/dist/studio/assets/{index-BkDF4Z-5.js → index-B1Gypobp.js} +4 -4
- package/dist/studio/assets/{index-DHRXpmtI.js → index-CGncBUsJ.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-RGNBVLLL.js → studio-api-RVIU7JP2.js} +2 -2
- package/dist/{studioServer-FWACRD3Y.js → studioServer-K22MWDLW.js} +16 -16
- package/dist/{telemetry-CHJA5JFQ.js → telemetry-SUAMGBFK.js} +3 -3
- package/dist/{timeline-TZDMQBSM.js → timeline-SGVBFT36.js} +12 -12
- package/dist/{tokens-B5KI7FBA.js → tokens-IFHWY5WC.js} +2 -2
- package/dist/{transcribe-VHUDXZET.js → transcribe-GY4JHB7V.js} +9 -8
- package/dist/{transcribe-M7NO6XBP.js → transcribe-KAOCI5CW.js} +4 -4
- package/dist/{updateCheck-NMD6AFFG.js → updateCheck-YUNDJDLW.js} +2 -2
- package/dist/{upgrade-WGFMGJ5O.js → upgrade-PL2BFWTO.js} +2 -2
- package/dist/{validate-NM3GLUWX.js → validate-2NALRIFW.js} +14 -14
- package/package.json +1 -1
- package/dist/{capture-6XCCIPT4.js → capture-QVW6JPTF.js} +0 -0
- package/dist/{chunk-5EA4C6RA.js → chunk-GZG3ZZOO.js} +3 -3
- package/dist/{chunk-3Q4Y33FT.js → chunk-PIH4P2G6.js} +4 -4
- package/dist/{deploy-NKWMPAMH.js → deploy-3TTQZGTF.js} +4 -4
- package/dist/{destroy-UKP522AE.js → destroy-BEL232I5.js} +3 -3
|
@@ -49,9 +49,9 @@ ${c.dim("either) \u2014 use the /figma skill in a Claude session for those.")}
|
|
|
49
49
|
var figma_default = defineCommand({
|
|
50
50
|
meta: { name: "figma", description: "Import figma assets, tokens, and components (REST)" },
|
|
51
51
|
subCommands: {
|
|
52
|
-
asset: () => import("./asset-
|
|
53
|
-
tokens: () => import("./tokens-
|
|
54
|
-
component: () => import("./component-
|
|
52
|
+
asset: () => import("./asset-CZHAZMDR.js").then((m) => m.default),
|
|
53
|
+
tokens: () => import("./tokens-IFHWY5WC.js").then((m) => m.default),
|
|
54
|
+
component: () => import("./component-AZHVBBVP.js").then((m) => m.default)
|
|
55
55
|
},
|
|
56
56
|
async run({ args }) {
|
|
57
57
|
if (!args._?.[0]) console.log(HELP);
|
package/dist/fontLocalizeCli.js
CHANGED
|
@@ -24,12 +24,12 @@ import {
|
|
|
24
24
|
} from "./chunk-ZTZA4UWZ.js";
|
|
25
25
|
import {
|
|
26
26
|
withMeta
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-457OAAL2.js";
|
|
28
28
|
import "./chunk-K4WIOZFP.js";
|
|
29
29
|
import "./chunk-XUXGIA7H.js";
|
|
30
30
|
import "./chunk-WERLJGIC.js";
|
|
31
31
|
import "./chunk-ISN5GRYI.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-MPNVXG3J.js";
|
|
33
33
|
import "./chunk-NZZYJOMJ.js";
|
|
34
34
|
import "./chunk-EOVYQ3IG.js";
|
|
35
35
|
import "./chunk-OFQWTKPW.js";
|
|
@@ -9,29 +9,29 @@ import {
|
|
|
9
9
|
readOptionalString,
|
|
10
10
|
resolveFromBase
|
|
11
11
|
} from "./chunk-ZKDMAOFU.js";
|
|
12
|
-
import {
|
|
13
|
-
openSettledCompositionPage,
|
|
14
|
-
runFfmpegOnce
|
|
15
|
-
} from "./chunk-KUOUUG33.js";
|
|
16
|
-
import "./chunk-FH7WODJH.js";
|
|
17
|
-
import "./chunk-L6XT6GSV.js";
|
|
18
|
-
import "./chunk-X4PK5ZXP.js";
|
|
19
|
-
import "./chunk-BRHI7EIA.js";
|
|
20
|
-
import "./chunk-DQY6WTF7.js";
|
|
21
|
-
import "./chunk-K2FLNJVB.js";
|
|
22
12
|
import {
|
|
23
13
|
serveStaticProjectHtml
|
|
24
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-4YBNQDZM.js";
|
|
15
|
+
import "./chunk-6OV3YGZF.js";
|
|
25
16
|
import "./chunk-X7MTZ4T2.js";
|
|
26
|
-
import "./chunk-J53AJK3Q.js";
|
|
27
17
|
import "./chunk-XUHOIDKG.js";
|
|
28
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-PIH4P2G6.js";
|
|
29
19
|
import "./chunk-TNDNFZOK.js";
|
|
30
|
-
import "./chunk-6JR2XUEE.js";
|
|
31
20
|
import "./chunk-C6TPGUWD.js";
|
|
21
|
+
import "./chunk-6JR2XUEE.js";
|
|
32
22
|
import "./chunk-QWCXGTOH.js";
|
|
33
23
|
import "./chunk-GMJ3ILLW.js";
|
|
34
24
|
import "./chunk-FFDC5OWV.js";
|
|
25
|
+
import {
|
|
26
|
+
openSettledCompositionPage,
|
|
27
|
+
runFfmpegOnce
|
|
28
|
+
} from "./chunk-UEGULMAH.js";
|
|
29
|
+
import "./chunk-FH7WODJH.js";
|
|
30
|
+
import "./chunk-L6XT6GSV.js";
|
|
31
|
+
import "./chunk-X4PK5ZXP.js";
|
|
32
|
+
import "./chunk-BRHI7EIA.js";
|
|
33
|
+
import "./chunk-DQY6WTF7.js";
|
|
34
|
+
import "./chunk-K2FLNJVB.js";
|
|
35
35
|
import "./chunk-L3LJVYXS.js";
|
|
36
36
|
import "./chunk-442JNXRM.js";
|
|
37
37
|
import "./chunk-RGHQID2E.js";
|
|
@@ -49,8 +49,8 @@ import "./chunk-GMECXFAN.js";
|
|
|
49
49
|
import "./chunk-5CS4T6C6.js";
|
|
50
50
|
import {
|
|
51
51
|
trackCompareSheet
|
|
52
|
-
} from "./chunk-
|
|
53
|
-
import "./chunk-
|
|
52
|
+
} from "./chunk-S3T3TDAB.js";
|
|
53
|
+
import "./chunk-2CEIKEFU.js";
|
|
54
54
|
import "./chunk-VWG7OQKU.js";
|
|
55
55
|
import "./chunk-T6AGUTZJ.js";
|
|
56
56
|
import {
|
|
@@ -68,12 +68,12 @@ import "./chunk-EOOEC32M.js";
|
|
|
68
68
|
import "./chunk-7FMUTGOH.js";
|
|
69
69
|
import {
|
|
70
70
|
withMeta
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-457OAAL2.js";
|
|
72
72
|
import "./chunk-K4WIOZFP.js";
|
|
73
73
|
import "./chunk-XUXGIA7H.js";
|
|
74
74
|
import "./chunk-WERLJGIC.js";
|
|
75
75
|
import "./chunk-ISN5GRYI.js";
|
|
76
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-MPNVXG3J.js";
|
|
77
77
|
import "./chunk-EOVYQ3IG.js";
|
|
78
78
|
import {
|
|
79
79
|
findFFmpeg
|
|
@@ -12,23 +12,23 @@ import {
|
|
|
12
12
|
withOwner,
|
|
13
13
|
withReader,
|
|
14
14
|
writeTurn
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-2YT3SCXL.js";
|
|
16
16
|
import "./chunk-X7MTZ4T2.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-K2FLNJVB.js";
|
|
17
|
+
import "./chunk-HLBAQBHT.js";
|
|
19
18
|
import {
|
|
20
19
|
HistoryBusyError,
|
|
21
20
|
HistoryIdError,
|
|
22
21
|
START
|
|
23
22
|
} from "./chunk-GMJ3ILLW.js";
|
|
24
23
|
import "./chunk-FFDC5OWV.js";
|
|
24
|
+
import "./chunk-K2FLNJVB.js";
|
|
25
25
|
import {
|
|
26
26
|
AmbiguousPreviewServerError
|
|
27
27
|
} from "./chunk-DQBY7FRR.js";
|
|
28
28
|
import {
|
|
29
29
|
trackHistoryAction
|
|
30
|
-
} from "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
} from "./chunk-S3T3TDAB.js";
|
|
31
|
+
import "./chunk-2CEIKEFU.js";
|
|
32
32
|
import "./chunk-VWG7OQKU.js";
|
|
33
33
|
import "./chunk-T6AGUTZJ.js";
|
|
34
34
|
import {
|
|
@@ -42,12 +42,12 @@ import "./chunk-ZTZA4UWZ.js";
|
|
|
42
42
|
import "./chunk-EOOEC32M.js";
|
|
43
43
|
import {
|
|
44
44
|
withMeta
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-457OAAL2.js";
|
|
46
46
|
import "./chunk-K4WIOZFP.js";
|
|
47
47
|
import "./chunk-XUXGIA7H.js";
|
|
48
48
|
import "./chunk-WERLJGIC.js";
|
|
49
49
|
import "./chunk-ISN5GRYI.js";
|
|
50
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-MPNVXG3J.js";
|
|
51
51
|
import "./chunk-EOVYQ3IG.js";
|
|
52
52
|
import "./chunk-XT6MXC7A.js";
|
|
53
53
|
import "./chunk-W2LGJSEN.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var HyperframesPlayer=(()=>{var We=Object.defineProperty;var Zn=Object.getOwnPropertyDescriptor;var Qn=Object.getOwnPropertyNames;var ei=Object.prototype.hasOwnProperty;var ti=(n,e)=>{for(var t in e)We(n,t,{get:e[t],enumerable:!0})},ni=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Qn(e))!ei.call(n,r)&&r!==t&&We(n,r,{get:()=>e[r],enumerable:!(i=Zn(e,r))||i.enumerable});return n};var ii=n=>ni(We({},"__esModule",{value:!0}),n);var qr={};ti(qr,{HyperframesPlayer:()=>He,SPEED_PRESETS:()=>ut,formatSpeed:()=>ae,formatTime:()=>De});var Dt=n=>n!==null&&Number.isFinite(n)&&n>0;function ye(n){let e=n.clipEndsSeconds.filter(i=>i===null).length;if(Dt(n.authoredDurationSeconds))return{seconds:n.authoredDurationSeconds,source:"authored",pendingClips:e};let t=n.clipEndsSeconds.filter(Dt);return t.length>0?{seconds:Math.max(...t),source:"derived",pendingClips:e}:{seconds:null,source:"unresolved",pendingClips:e,reason:e>0?"every clip's length is still pending":"no authored duration and no clip with a length"}}var ri="http://www.w3.org/1999/xhtml";function Ct(n){return n!=null&&n.nodeType===1}function Ge(n){return Ct(n)&&n.namespaceURI===ri}function Be(n,e){return Ge(n)&&n.localName===e}function oi(n){return Be(n,"video")}function ai(n){return Be(n,"audio")}function M(n){return oi(n)||ai(n)}function $e(n){return Be(n,"img")}function ve(n){if(n==null||n.trim()==="")return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function Ae(n=document){let e=n.querySelector('[data-composition-id][data-root="true"]');return Ge(e)?e:n.querySelector("[data-composition-id]")}var V=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),Qr=Object.freeze([V.start,V.duration,V.trackIndex]),eo=Object.freeze([V.derivedEnd]),to=Object.freeze([V.derivedEnd,V.legacyTrack]);function ze(n){if(n==null||n.trim()==="")return null;let e=Number(n);return Number.isFinite(e)?e:null}var Nt=n=>{let e=ze(n);return e!==null&&e>=0?e:null};function Se(n){return Nt(n("data-playback-start"))??Nt(n("data-media-start"))??0}var X=.1,K=10;function je(n){return Number.isFinite(n)&&n>0?Math.max(X,Math.min(K,n)):1}function Pt(n,e=1){let t=Number.parseFloat(n("data-playback-rate")??"");return je(Number.isFinite(t)&&t>0?t:e)}function qe(n){let e=ze(n("data-duration"));return e!==null&&e>0?e:null}function Lt(n,e){let t=qe(n);if(t!==null)return t;let i=ze(n("data-end"));return i!==null?i-e:null}var si=3;function Ye(n,e,t){return Number.isFinite(n)?Math.max(0,n-e)/je(t):null}function Xe(n){let{tag:e,authoredDurationSeconds:t,sourceDurationSeconds:i,mediaStartSeconds:r,playbackRate:o}=n;if(t!==null&&t>0)return{seconds:t,source:"authored"};if(e==="img")return{seconds:si,source:"default"};if(i===null)return{seconds:null,source:"pending",reason:"source duration not yet probed"};let a=Ye(i,r,o);return a===null?{seconds:null,source:"pending",reason:"source reported a non-finite duration"}:{seconds:a,source:"media"}}var Ft="data-fx-chain",io=Ft.slice(5);var J=(n="frequency",e="Frequency",t=1e3,i=20,r=2e4)=>({kind:"number",key:n,label:e,unit:"Hz",min:i,max:r,step:1,default:t,scale:"log",automatable:!0}),Ke=(n=.707,e="Bandwidth: higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:n,scale:"log",automatable:!0,hint:e}),Ee=(n=-40,e=40,t=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:n,max:e,step:.1,default:t,automatable:!0}),Ot={kind:"enum",key:"poles",label:"Slope",options:[{value:"1",label:"6 dB/oct"},{value:"2",label:"12 dB/oct"}],default:"2",hint:"Two poles is the usual biquad; one pole is gentler."},Vt=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[Ee(-60,12,0)],web:"gain-node"},{id:"peaking",label:"Peaking EQ",group:"filter",description:"Boost or cut a band, leaving everything either side alone.",params:[J("frequency","Frequency",1e3),Ee(-40,40,0),Ke(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[J("frequency","Frequency",200,20,2e3),Ee(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[J("frequency","Frequency",4e3,500,2e4),Ee(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies: the usual fix for rumble on a voice.",params:[J("frequency","Cutoff",300,20,2e4),Ke(.707),Ot],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies, which darkens or muffles a track.",params:[J("frequency","Cutoff",8e3,100,2e4),Ke(.707),Ot],web:"biquad-lowpass"},{id:"compressor",label:"Compressor",group:"dynamics",description:"Pull loud parts down so the quiet ones can come up.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-60,max:0,step:.5,default:-24,hint:"Level above which the compressor starts working."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:4},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:2e3,step:.1,default:20,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:250,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83,hint:"1 is a hard corner; higher eases into it."},{kind:"number",key:"makeup",label:"Makeup",unit:"dB",min:0,max:36,step:.1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1,hint:"Below 1 blends the dry signal back in."}],web:"worklet-compressor"},{id:"limiter",label:"Limiter",group:"dynamics",description:"Peak limiter that follows the signal's level. It has no lookahead, so a fast peak or an inter-sample peak can pass the ceiling; use the true-peak limiter for a delivery limit.",params:[{kind:"number",key:"limit",label:"Ceiling",unit:"dB",min:-24,max:0,step:.1,default:-1},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.1,max:80,step:.1,default:5},{kind:"number",key:"release",label:"Release",unit:"ms",min:1,max:8e3,step:1,default:50,scale:"log"},{kind:"number",key:"level_out",label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0}],web:"worklet-limiter"},{id:"truepeak",label:"True-peak limiter",group:"dynamics",description:"Lookahead limiter that holds a 4x estimate of the inter-sample peak at a dBTP ceiling; full-band noise can land up to about 1.7 dB above it. Adds lookahead plus about 0.3 ms of latency.",params:[{kind:"number",key:"ceiling",label:"Ceiling",unit:"dBTP",min:-24,max:0,step:.1,default:-1,hint:"Target true peak, measured on a 4x oversampled signal. Dense full-band sound can end up to about 1.7 dB above it."},{kind:"number",key:"lookahead",label:"Lookahead",unit:"ms",min:.5,max:10,step:.1,default:3,hint:"How far ahead the gain starts falling. Longer is smoother and adds the same latency."},{kind:"number",key:"release",label:"Release",unit:"ms",min:10,max:2e3,step:1,default:80,scale:"log"}],web:"worklet-truepeak"},{id:"gate",label:"Noise Gate",group:"dynamics",description:"Silence the track when it drops below the threshold.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-80,max:0,step:.5,default:-35},{kind:"number",key:"range",label:"Range",unit:"dB",min:-80,max:0,step:.5,default:-24,hint:"How far down the gate pulls when closed."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:10},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:9e3,step:.1,default:1,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:100,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83}],web:"worklet-gate"},{id:"saturate",label:"Saturation",group:"nonlinear",description:"Soft-clip the waveform for warmth or outright distortion.",params:[{kind:"enum",key:"type",label:"Curve",options:[{value:"tanh",label:"Tanh"},{value:"atan",label:"Arctan"},{value:"cubic",label:"Cubic"},{value:"exp",label:"Exponential"},{value:"alg",label:"Algebraic"},{value:"quintic",label:"Quintic"},{value:"sin",label:"Sine"},{value:"erf",label:"Error function"},{value:"hard",label:"Hard clip"}],default:"tanh"},{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-40,max:0,step:.1,default:-6},{kind:"number",key:"output",automatable:!0,label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0},{kind:"number",key:"oversample",label:"Oversample",unit:"x",min:1,max:8,step:1,default:4,hint:"Higher costs more but keeps aliasing down."}],web:"waveshaper"},{id:"bitcrush",label:"Bitcrush",group:"nonlinear",description:"Drop bit depth and sample rate for a lo-fi, digital sound.",params:[{kind:"number",key:"bits",label:"Bit depth",unit:"bit",min:1,max:32,step:.1,default:8},{kind:"number",key:"samples",label:"Sample hold",unit:"x",min:1,max:250,step:1,default:1,hint:"Repeats each sample N times, a crude downsample."},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-bitcrush"},{id:"pitchshift",label:"Pitch shift",group:"time",description:"Shifts pitch up or down without changing playback speed. Adds ~50 ms of latency.",params:[{kind:"number",key:"semitones",label:"Semitones",unit:"st",min:-12,max:12,step:1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-pitchshift"},{id:"delay",label:"Delay",group:"time",description:"Repeating echoes behind the dry signal.",params:[{kind:"number",key:"time",automatable:!0,label:"Time",unit:"ms",min:1,max:5e3,step:1,default:250,scale:"log"},{kind:"number",key:"feedback",automatable:!0,label:"Feedback",unit:"",min:.01,max:.95,step:.01,default:.35},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.4}],web:"delay-feedback"},{id:"chorus",label:"Chorus",group:"time",description:"Detuned copies of the signal for width and thickness.",params:[{kind:"number",key:"delay",automatable:!0,label:"Delay",unit:"ms",min:1,max:100,step:.1,default:7},{kind:"number",key:"depth",automatable:!0,label:"Depth",unit:"ms",min:0,max:10,step:.01,default:2},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.01,max:10,step:.01,default:1},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.5}],web:"chorus-lfo"},{id:"phaser",label:"Phaser",group:"time",description:"Sweeping notches moving through the spectrum.",params:[{kind:"number",key:"in_gain",automatable:!0,label:"Input",unit:"",min:0,max:1,step:.01,default:.4},{kind:"number",key:"out_gain",automatable:!0,label:"Output",unit:"",min:0,max:2,step:.01,default:.74},{kind:"number",key:"delay",label:"Delay",unit:"ms",min:.1,max:5,step:.1,default:3},{kind:"number",key:"decay",label:"Decay",unit:"",min:0,max:.99,step:.01,default:.4},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.1,max:2,step:.01,default:.5},{kind:"enum",key:"type",label:"Waveform",options:[{value:"0",label:"Triangular"},{value:"1",label:"Sinusoidal"}],default:"0"}],web:"allpass-phaser"},{id:"reverb",label:"Reverb",group:"time",description:"Room tail. Both ends convolve the same generated impulse, so preview matches render.",params:[{kind:"number",key:"size",label:"Room size",unit:"",min:.05,max:1,step:.01,default:.7},{kind:"number",key:"damping",label:"Damping",unit:"",min:0,max:1,step:.01,default:.5,hint:"Higher rolls the top off the tail faster."},{kind:"number",key:"wet",automatable:!0,label:"Wet",unit:"",min:0,max:1,step:.01,default:.35},{kind:"number",key:"dry",automatable:!0,label:"Dry",unit:"",min:0,max:1,step:.01,default:.7}],web:"convolver"}],ro=new Map(Vt.map(n=>[n.id,n]));var oo=Vt.map(n=>n.id);function ui(n){return 10**(n/20)}var Ut=ui(12);var Ze="data-automation",ho=Ze.slice(5),Je=1,li=512,I=class extends Error{constructor(e){super(e),this.name="AudioAutomationError"}},Te="volume",Re="rate";function Ht(n){if(n===Te)return{kind:"volume"};if(n===Re)return{kind:"rate"};let e=n.split(".");if(e.length===3&&e[0]==="fx"&&e[1]===di){let r=e[2];return r?{kind:"preset",presetId:r}:null}if(e.length!==3||e[0]!=="fx")return null;let[,t,i]=e;return!t||!i?null:{kind:"fx",nodeId:t,param:i}}var di="preset";var ci={min:0,max:Ut,step:.01,unit:"",label:"Volume",scale:"linear",default:1},mi={min:X,max:K,step:.05,unit:"x",label:"Speed",scale:"log",default:1};function Z(n){if(typeof n=="number")return Number.isFinite(n)?n:null;if(typeof n=="string"&&n.trim()!==""){let e=Number(n);return Number.isFinite(e)?e:null}return null}function pi(n){let e=Z(n);return e===null||e===0?0:Math.min(1,Math.max(-1,e))}function Wt(n,e){let t=Z(n),i=Z(e);if(t===null||i===null)return null;let r=s=>Math.min(.999,Math.max(.001,s)),o=r(t),a=r(i);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function fi(n){let e=pi(n?.curve),t=Wt(n?.viaX,n?.viaY);return{...e?{curve:e}:{},...t?{viaX:t.x,viaY:t.y}:{}}}function hi(n,e){let t=Z(n?.t),i=Z(n?.v);if(t===null||i===null)return null;let r=e?Math.min(e.max,Math.max(e.min,i)):i;return{t:Math.max(0,t),v:r,...fi(n)}}function bi(n,e){let t=n.map(r=>hi(r,e)).filter(r=>r!==null).sort((r,o)=>r.t-o.t),i=[];for(let r of t)i.length>0&&i[i.length-1].t===r.t?i[i.length-1]=r:i.push(r);return i.slice(0,li)}function gi(n){let e=[];for(let t of n.lanes){if(!Ht(t.target))continue;let i=t.target===Te?ci:t.target===Re?mi:null,r=bi(t.points??[],i);r.length>0&&e.push({target:t.target,points:r})}return{version:Je,lanes:e}}function Gt(n){let e;try{e=JSON.parse(n)}catch(r){throw new I(`Automation is not valid JSON: ${r.message}`)}if(typeof e!="object"||e===null)throw new I("Automation must be a JSON object.");let t=e;if(t.version!==Je)throw new I(`Unsupported automation version: ${String(t.version)}`);if(!Array.isArray(t.lanes))throw new I("Automation is missing a `lanes` array.");let i=t.lanes.map((r,o)=>{if(typeof r!="object"||r===null)throw new I(`Lane ${o} is not an object.`);let a=r;if(typeof a.target!="string"||!Ht(a.target))throw new I(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new I(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return gi({version:Je,lanes:i})}function _i(n,e){return e?Math.pow(n,Math.pow(2,2*e)):n}function yi(n,e){let t=n-.5,i=e-.5,r=.999,o=1e6,a=t>0?t/(r-n):t<0?-t/(n-(1-r)):0,s=i>0?i/(r-e):i<0?-i/(e-(1-r)):0,u=Math.min(o,Math.max(1,a,s));return{cx:n+t/u,cy:e+i/u,w:u}}function vi(n,e,t){let{cx:i,cy:r,w:o}=yi(e,t),a=2-2*o,s=n*a-1+2*o*i,u=-n*a-2*o*i,d=Ai(s,u,n),m=1-d,g=m*m+2*o*d*m+d*d;return g>0?(2*o*r*d*m+d*d)/g:n}function Ai(n,e,t){if(Math.abs(n)<1e-12)return Math.abs(e)<1e-12?t:-t/e;let i=Math.sqrt(Math.max(0,e*e-4*n*t)),r=(-e+i)/(2*n),o=(-e-i)/(2*n),a=s=>s>=-1e-9&&s<=1+1e-9;return a(r)?Math.min(1,Math.max(0,r)):a(o)?Math.min(1,Math.max(0,o)):t}function Si(n,e){let t=Wt(e.viaX,e.viaY);return t?vi(Math.min(1,Math.max(0,n)),t.x,t.y):_i(n,e.curve)}function Ei(n,e,t,i){return i==="log"&&n>0&&e>0?Math.exp(Math.log(n)+(Math.log(e)-Math.log(n))*t):n+(e-n)*t}function we(n,e,t="linear"){let i=n.points;if(i.length===0)return 0;let r=i[0];if(e<=r.t)return r.v;let o=i[i.length-1];if(e>=o.t)return o.v;let a=0,s=i.length-1;for(;s-a>1;){let g=a+s>>1;i[g].t<=e?a=g:s=g}let u=i[a],d=i[s],m=d.t-u.t;return m<=0?d.v:Ei(u.v,d.v,Si((e-u.t)/m,u),t)}var xe=new Map,Ti=64;function Bt(n,e=Te){let t=`${e}\0${n}`,i=xe.get(t);if(i!==void 0)return i;let r=null;try{r=Gt(n).lanes.find(o=>o.target===e)??null}catch{r=null}return xe.size>Ti&&xe.clear(),xe.set(t,r),r}var $t=48,zt=new WeakMap;function Ri(n){let e=n.points,t=e[0].v,i=e[e.length-1].v,r=[0],o=[0],a=u=>{let d=r[r.length-1];if(u<=d)return;let m=we(n,d,"log");r.push(u),o.push(o[o.length-1]+(m+we(n,u,"log"))/2*(u-d))},s=Math.max(0,e[0].t);a(s);for(let u=1;u<e.length;u+=1){let d=e[u-1].t,m=e[u].t;if(!(m<=0))for(let g=1;g<=$t;g+=1)a(Math.max(d,0)+(m-d)*g/$t)}return{ts:Float64Array.from(r),ss:Float64Array.from(o),firstRate:t,lastRate:i}}function wi(n){let e=zt.get(n);return e||(e=Ri(n),zt.set(n,e)),e}function xi(n){return typeof n!="number"&&n.points.length>0}function ki(n,e,t){let i=0,r=n.length-1;for(;r-i>1;){let o=i+r>>1;n[o]<=t?i=o:r=o}return e[i]+(e[r]-e[i])*(t-n[i])/(n[r]-n[i])}function Qe(n,e){if(typeof n=="number")return e/n;if(!xi(n))return e;let{ts:t,ss:i,firstRate:r,lastRate:o}=wi(n),a=t.length-1;return e<=0?e/r:e>=i[a]?t[a]+(e-i[a])/o:ki(i,t,e)}function Mi(n){return n?Bt(n,Re):null}function jt(n,e){return Mi(n)??e}var So=[{id:"montage",label:"Montage",points:[[0,.9],[.15,.3],[.5,2.5],[.85,.3],[1,.9]]},{id:"hero",label:"Hero",points:[[0,1],[.25,1.6],[.5,.25],[.75,1.6],[1,1]]},{id:"bullet",label:"Bullet",points:[[0,3],[.4,3],[.5,.15],[.6,3],[1,3]]},{id:"jump-cut",label:"Jump cut",points:[[0,.5],[.24,.5],[.26,3],[.5,3],[.52,.5],[.74,.5],[.76,3],[1,3]]},{id:"flash-in",label:"Flash in",points:[[0,.3],[.6,.6],[1,5]]},{id:"flash-out",label:"Flash out",points:[[0,5],[.4,.6],[1,.3]]},{id:"ramp-in",label:"Ramp in",points:[[0,.5],[1,1]]},{id:"ramp-out",label:"Ramp out",points:[[0,1],[1,.5]]},{id:"slowmo-middle",label:"Slow-mo middle",points:[[0,1],[1/3,.35],[2/3,.35],[1,1]]}];var v=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),To=Object.freeze([v.start,v.duration,v.trackIndex]),Ro=Object.freeze([v.derivedEnd]),wo=Object.freeze([v.derivedEnd,v.legacyTrack]);function D(n){if(n==null||n.trim()==="")return null;let e=Number(n);return Number.isFinite(e)?e:null}var Xt=/^[A-Za-z0-9_.:-]+$/;function Kt(n,e){let t=n.charCodeAt(e);return t>=48&&t<=57}function qt(n,e){let t=e;for(;t>=0&&Kt(n,t);)t--;return t}function Ii(n,e){let t=e;for(;t>=0&&(n[t]??"").trim()==="";)t--;return t}function Di(n){let e=n.length-1;if(!Kt(n,e))return null;let t=qt(n,e);return n[t]==="."&&(t=qt(n,t-1)),t+1}function Ci(n){let e=Di(n);if(e==null)return null;let t=Ii(n,e-1),i=n[t];if(i!=="+"&&i!=="-")return null;let r=n.slice(0,t).trim();if(!Xt.test(r))return null;let o=Number(n.slice(e));return Number.isFinite(o)?{refId:r,operator:i,magnitude:o}:null}function Q(n){let e=(n??"").trim();if(!e)return null;let t=D(e);if(t!=null)return{kind:"absolute",value:t};if(Xt.test(e))return{kind:"reference",refId:e,offset:0};let i=Ci(e);return i?{kind:"reference",refId:i.refId,offset:i.operator==="-"?-i.magnitude:i.magnitude}:null}function T(n,e,t,i){n.push({code:e,attribute:t,value:i})}function Ni(n,e,t,i){if(e==null||e.trim()==="")return t.defaultStart===void 0?0:t.defaultStart;if(!n)return T(i,"invalid-start",v.start,e),null;if(n.kind==="absolute")return Math.max(0,n.value);let r=t.resolveReferenceEnd?.(n.refId);return r==null||!Number.isFinite(r)?(T(i,"unresolved-start-reference",v.start,e),null):Math.max(0,r+n.offset)}var Pi=1e-9;function Li(n,e){return Math.abs(n-e)<=Pi}function Oi(n,e,t){let i=D(n);if(i==null){T(t,"deprecated-end",v.derivedEnd,n),T(t,"invalid-end",v.derivedEnd,n);return}if(e==null){T(t,"deprecated-end",v.derivedEnd,n);return}Li(i,e)||(T(t,"deprecated-end",v.derivedEnd,n),T(t,"conflicting-end",v.derivedEnd,n))}function Fi(n,e,t){let i=D(n);return i==null||i<0?(T(t,"invalid-duration",v.duration,n),{duration:null,end:null,durationSource:"invalid"}):{duration:i,end:e==null?null:e+i,durationSource:"duration"}}function Vi(n,e,t){T(t,"deprecated-end",v.derivedEnd,n);let i=D(n);return i==null?(T(t,"invalid-end",v.derivedEnd,n),{duration:null,end:null,durationSource:"invalid"}):e==null?{duration:null,end:i,durationSource:"legacy-end"}:i<e?(T(t,"end-before-start",v.derivedEnd,n),{duration:null,end:null,durationSource:"invalid"}):{duration:i-e,end:i,durationSource:"legacy-end"}}function Ui(n,e,t){let i=n.getAttribute(v.duration),r=n.getAttribute(v.derivedEnd);if(i==null)return r==null?{duration:null,end:null,durationSource:"missing"}:Vi(r,e,t);let o=Fi(i,e,t);return r!=null&&Oi(r,o.end,t),o}function Yt(n,e,t,i){let r=D(n);return r==null||!Number.isInteger(r)?(T(i,"invalid-track-index",e,n),{trackIndex:0,trackSource:"invalid"}):{trackIndex:r,trackSource:t}}function Hi(n,e){let t=n.getAttribute(v.trackIndex),i=n.getAttribute(v.legacyTrack);if(t==null&&i==null)return{trackIndex:0,trackSource:"default"};if(t==null&&i!=null)return T(e,"deprecated-layer",v.legacyTrack,i),Yt(i,v.legacyTrack,"legacy-layer",e);let r=Yt(t??"",v.trackIndex,"track-index",e);if(i==null)return r;T(e,"deprecated-layer",v.legacyTrack,i);let o=D(i);return o!=null&&o!==r.trackIndex&&T(e,"conflicting-layer",v.legacyTrack,i),r}function et(n,e={}){let t=[],i=n.getAttribute(v.start),r=Q(i),o=Ni(r,i,e,t),a=Ui(n,o,t),s=Hi(n,t);return{startExpression:r,start:o,...a,...s,diagnostics:t}}function P(n){return D(n)}function ee(n){return Pt(e=>n.getAttribute(e),M(n)?n.defaultPlaybackRate:1)}function tt(n){return jt(n.getAttribute("data-automation"),ee(n))}function nt(n){return Se(e=>n.getAttribute(e))}function U(n,e){return Wi(e,nt(n),tt(n))}function it(n){let e=Xe({tag:"video",authoredDurationSeconds:qe(t=>n.getAttribute(t)),sourceDurationSeconds:Number.isFinite(n.duration)?n.duration:null,mediaStartSeconds:nt(n),playbackRate:ee(n)});return e.source==="media"?U(n,n.duration):e.seconds}function ke(n,e=0){return!$e(n)||!n.hasAttribute("data-start")&&!n.hasAttribute("data-track-index")?null:Xe({tag:"img",authoredDurationSeconds:Lt(t=>n.getAttribute(t),e),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function Wi(n,e,t){return typeof t=="number"?Ye(n,e,t):Number.isFinite(n)?Qe(t,Math.max(0,n-e)):null}function Jt(){return globalThis}function te(n,e){if(typeof window>"u")return;let t=Jt(),i=t.__hf?.onSwallowed;if(i)try{i({label:n,error:e})}catch(r){}(t.__hfDebug||t.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${n} swallowed:`,e)}var Gi=n=>n.paused?.()===!0?(n.startTime?.()??0)+(n.totalDuration?.()??0)/Math.abs(n.timeScale?.()||1):0;function ne(n){try{if(typeof n?.duration!="function")return null;let e=n.getChildren?.(!1,!1,!0),t=Array.isArray(e)?e:[],i=Math.max(Number(n.duration()),...t.map(Gi));return Number.isFinite(i)?i:null}catch(e){return te("runtime.timelineDuration",e),null}}var Zt="data-hf-authored-duration",Qt="data-hf-authored-end";function ie(n){if(n==null||typeof n=="string"&&n.trim()==="")return null;let e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:null}function Me(n){let e=ie(n.start);if(e==null)return null;let t=Math.max(0,e),i=ie(n.duration),r=ie(n.authoredDuration),o=i!=null&&i>0?i:r!=null&&r>0?r:null;if(o!=null)return{start:t,duration:o,end:t+o};let a=ie(n.end),s=ie(n.authoredEnd),u=a!=null&&a>t?a:s!=null&&s>t?s:null;return{start:t,duration:u==null?null:u-t,end:u}}var en="data-hf-media-start-basis";function tn(n){return n?.trim().toLowerCase()==="global"?"global":"local"}function Bi(n){return tn(n.basis)==="global"?n.authoredStart:n.hostStart+n.authoredStart}function nn(n){return on(n)?Bi({authoredStart:n.authoredStart,hostStart:n.hostStart,basis:n.basis}):n.ordinaryStart()}function rn(n){return on(n)&&tn(n.basis)==="global"}function on(n){return!n.hasAutoStart&&n.authoredStart!=null&&n.hostStart!==0}function rt(n){return Se(e=>n.getAttribute(e))}function an(n,e){return n-rt(e)}function H(n){let e=n.timelineRegistry??{},t=n.includeAuthoredTimingAttrs??!1,i=n.documentRef??document,r=new WeakMap,o=new WeakMap,a=new Set,s=l=>{let f=i.getElementById(l);return f||(Array.from(i.querySelectorAll("[data-composition-id]")).find(_=>_.getAttribute("data-composition-id")===l)??null)},u=(l,f)=>t?l.getAttribute(f):null,d=l=>Me({start:0,duration:l.getAttribute("data-duration"),authoredDuration:u(l,"data-hf-authored-duration")})?.duration??Me({start:R(l,0),end:l.getAttribute("data-end"),authoredEnd:u(l,"data-hf-authored-end")})?.duration??null,m=l=>l!=null&&Number.isFinite(l)&&l>0?l:null,g=l=>{let f=l.getAttribute("data-composition-id");return f?m(ne(e[f])):null},y=l=>{let f=o.get(l);if(f!==void 0)return f;let _=d(l)??m(M(l)?U(l,l.duration):null)??m(ke(l))??g(l);return o.set(l,_),_},h=l=>l.hasAttribute("data-composition-src")||l.hasAttribute("data-composition-id")||l.hasAttribute("data-composition-file"),A=l=>{let f=l.parentElement;return!f||!l.hasAttribute("data-composition-id")||Q(l.getAttribute("data-start"))?null:h(f)?f:null},b=(l,f)=>an(R(l,f),A(l)??l),S=(l,f)=>{let _=l.hasAttribute("data-composition-id")?l.parentElement?.closest("[data-composition-id]"):l.closest("[data-composition-id]");return _?b(_,f):0},C=(l,f)=>{let _=Q(l.getAttribute("data-start"));if(!_){let Y=A(l);return Y?R(Y,f):f}if(_.kind==="absolute")return S(l,f)+Math.max(0,_.value);let x=s(_.refId);if(!x)return f;let L=R(x,0),he=y(x)??0,be=Math.min(0,S(l,0));return Math.max(be,L+he+_.offset)},R=(l,f)=>{let _=r.get(l);if(_!==void 0)return _??f;if(a.has(l))return f;a.add(l);try{let x=C(l,f);return r.set(l,x),x}finally{a.delete(l)}},k=l=>{let f=l.closest("[data-composition-id]");return{authoredStart:P(l.getAttribute("data-start")),hostStart:f?b(f,0):0,hasAutoStart:l.hasAttribute("data-hf-auto-start"),basis:l.getAttribute(en)}};return{resolveStartForElement:(l,f=0)=>R(l,Math.max(0,f)),resolveDurationForElement:l=>y(l),resolveMediaStartForElement:l=>{let f=k(l);return nn({...f,ordinaryStart:()=>R(l,f.hostStart)})},resolveHostStartForElement:l=>S(l,0),resolveHostSlotsForElement:l=>{let f=[];for(let _=l.parentElement;_;_=_.parentElement){if(!h(_)||A(_)||rt(_)<=0)continue;let x=R(_,0),L=d(_);f.push({start:x,end:L?x+L:1/0})}return f},isRootGlobalMediaStartForElement:l=>M(l)&&rn(k(l))}}function sn(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var un=7200,ot=1/60,re=n=>n!==null&&n>ot?n:null;function $i(n){return{width:ve(n.getAttribute("data-width")),height:ve(n.getAttribute("data-height"))}}function zi(n,e){let t=[];for(let i of n.querySelectorAll("video[data-start], audio[data-start]")){let r=e.mediaStart(i);if(!Number.isFinite(r))continue;let o=e.mediaDuration(i);o==null||o<=ot||t.push(Math.max(0,r)+o)}return re(ye({authoredDurationSeconds:null,clipEndsSeconds:t}).seconds)}function ji(n,e){let t=[];for(let r of n.querySelectorAll("[data-composition-id][data-start]")){if(r.parentElement?.closest("[data-composition-id]")!==n)continue;let o=e.resolveStartForElement(r,0),a=e.resolveDurationForElement(r);!Number.isFinite(o)||a==null||a<=0||t.push(Math.max(0,o)+a)}let i=P(n.getAttribute("data-duration"));return re(ye({authoredDurationSeconds:null,clipEndsSeconds:[i,...t]}).seconds)}var qi=n=>n.hasAttribute("data-composition-id")||n.hasAttribute("data-composition-src");function Yi(n,e,{unregisteredLottie:t}){let i=[];for(let o of n.querySelectorAll("[data-start]")){let a=e.resolveStartForElement(o,0);if(!Number.isFinite(a))continue;let s=e.resolveDurationForElement(o);s!=null?i.push(Math.max(0,a)+s):(M(o)||qi(o))&&i.push(null)}(t||n.querySelector("[data-lottie-src]"))&&i.push(null);let r=ye({authoredDurationSeconds:null,clipEndsSeconds:i});return r.pendingClips>0?{...r,seconds:null,source:"unresolved",reason:"a clip's length is pending"}:r}function Xi(n){if(n.declared!==null&&Number.isFinite(n.declared)&&n.declared>0)return n.declared;let e=re(n.timeline()),t=Math.max(0,...n.floors().map(u=>u??0)),i=Number.isFinite(n.fallback)&&n.fallback>ot?n.fallback:0,r=Math.max(t,i),a=e!==null&&e>=un&&re(r)!==null?null:e,s;return a!==null?s=Math.max(a,r):re(t)!==null?s=r:i>0?s=i:s=n.derived(),s>0?s:0}function ln(n){let e=Ae(n);if(!e)return null;let t=H({timelineRegistry:{},includeAuthoredTimingAttrs:!0,documentRef:n}),i=Xi({declared:P(e.getAttribute("data-duration")),timeline:()=>null,floors:()=>[zi(n,{mediaStart:t.resolveMediaStartForElement,mediaDuration:it}),ji(e,t)],fallback:0,derived:()=>Yi(e,t,{unregisteredLottie:!1}).seconds??0});return{...$i(e),fps:sn().canonicalFps,durationSeconds:i}}var dn="hyperframes-studio-preview";var cn="__hfPreviewErrors";function mn(n){return n.hasRuntime||n.runtimeInjected?!1:!!(n.hasNestedCompositions||n.hasTimelines&&n.attempts>=5)}function W(n){return typeof n=="object"&&n!==null}function pn(n){return W(n)&&typeof n.getDuration=="function"}function fn(n){return W(n)&&typeof n.duration=="function"&&typeof n.time=="function"&&typeof n.seek=="function"&&typeof n.play=="function"&&typeof n.pause=="function"}var G="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.176/dist/hyperframe.runtime.iife.js";function oe(n){if(n===null)return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function Ki(n){let e=n?.querySelector("[data-composition-id][data-width][data-height]")??n?.querySelector("[data-width][data-height]");if(!e)return null;let t=oe(e.getAttribute("data-width")),i=oe(e.getAttribute("data-height"));return t!==null&&i!==null?{width:t,height:i}:null}function Ji(n){return Array.isArray(n)?n.find(e=>typeof e=="string"&&e.trim()!==""&&e!=="[object Event]")??null:null}var Ie=class{constructor(e,t){this._iframe=e;this._callbacks=t}_iframe;_callbacks;_interval=null;_runtimeInjected=!1;_runtimeScript=null;_failure=null;get failed(){return this._failure!==null&&this._failure.document===this._iframe.contentDocument}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._failure=null,this._runtimeInjected=!1;let e=0;this._interval=setInterval(()=>{e++;let t=null;try{t=this._poll(e)}catch(i){i instanceof DOMException&&i.name==="SecurityError"||(t={kind:"error",message:i instanceof Error?i.message:String(i)})}t??=this._deadlineOutcome(e),t&&(this.stop(),t.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(t.message)):this._callbacks.onReady(t.result))},200)}_deadlineOutcome(e){return e<40||this._callbacks.hostOwnsDeadline?.()?null:{kind:"error",message:"Composition timeline not found after 8s"}}_poll(e){let t=this._iframe.contentWindow;if(!t)return null;let i=Ji(Reflect.get(t,cn));if(i!==null)return{kind:"error",message:i};let r=this._iframe.contentDocument,o=Reflect.get(t,"__timelines"),a=this.hasRuntimeBridge(t);if(mn({hasRuntime:a,hasTimelines:W(o)&&Object.keys(o).length>0,hasNestedCompositions:!!r?.querySelector("[data-composition-src]"),runtimeInjected:this._runtimeInjected,attempts:e}))return this._injectRuntime(),null;if(this._runtimeInjected&&!a)return null;let s=this._resolveReadyResult(t,r);return s?{kind:"ready",result:s}:null}_resolveReadyResult(e,t){let i=this._resolvePlaybackDurationAdapter(e)??{kind:"document",getDuration:()=>0},r=i.getDuration();if(!Number.isFinite(r)||r<=0){if(i.kind==="direct-timeline")return null;r=t?ln(t)?.durationSeconds??0:0}return r<=0?null:{duration:r,adapter:{...i,getDuration:()=>r},compositionSize:Ki(t)}}stop(){this._runtimeScript&&(this._runtimeScript.onerror=null,this._runtimeScript=null),this.failed||(this._failure=null),this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{let e=this._iframe.contentWindow;return e?this._resolveDirectTimelineAdapterFromWindow(e):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(e){return this._resolveDirectTimelineAdapterFromWindow(e)}hasRuntimeBridge(e){return W(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let t=e.createElement("script");t.src=this._callbacks.resolveRuntimeUrl?.()??G,this._runtimeScript=t,t.onerror=()=>{this._runtimeScript!==t||this._iframe.contentDocument!==e||(this.stop(),this._failure={document:e},this._callbacks.onError("HyperFrames runtime failed to load from "+t.src))},(e.head||e.documentElement).appendChild(t),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let t=Reflect.get(e,"__timelines");if(!W(t))return null;let i=Object.keys(t);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in t?r:i[i.length-1],a=t[o];return fn(a)?a:null}_resolvePlaybackDurationAdapter(e){let t=Reflect.get(e,"__player");if(pn(t))return{kind:"runtime",getDuration:()=>t.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var hn=`
|
|
1
|
+
"use strict";var HyperframesPlayer=(()=>{var We=Object.defineProperty;var Zn=Object.getOwnPropertyDescriptor;var Qn=Object.getOwnPropertyNames;var ei=Object.prototype.hasOwnProperty;var ti=(n,e)=>{for(var t in e)We(n,t,{get:e[t],enumerable:!0})},ni=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Qn(e))!ei.call(n,r)&&r!==t&&We(n,r,{get:()=>e[r],enumerable:!(i=Zn(e,r))||i.enumerable});return n};var ii=n=>ni(We({},"__esModule",{value:!0}),n);var qr={};ti(qr,{HyperframesPlayer:()=>He,SPEED_PRESETS:()=>ut,formatSpeed:()=>ae,formatTime:()=>De});var Dt=n=>n!==null&&Number.isFinite(n)&&n>0;function ye(n){let e=n.clipEndsSeconds.filter(i=>i===null).length;if(Dt(n.authoredDurationSeconds))return{seconds:n.authoredDurationSeconds,source:"authored",pendingClips:e};let t=n.clipEndsSeconds.filter(Dt);return t.length>0?{seconds:Math.max(...t),source:"derived",pendingClips:e}:{seconds:null,source:"unresolved",pendingClips:e,reason:e>0?"every clip's length is still pending":"no authored duration and no clip with a length"}}var ri="http://www.w3.org/1999/xhtml";function Ct(n){return n!=null&&n.nodeType===1}function Ge(n){return Ct(n)&&n.namespaceURI===ri}function Be(n,e){return Ge(n)&&n.localName===e}function oi(n){return Be(n,"video")}function ai(n){return Be(n,"audio")}function M(n){return oi(n)||ai(n)}function $e(n){return Be(n,"img")}function ve(n){if(n==null||n.trim()==="")return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function Ae(n=document){let e=n.querySelector('[data-composition-id][data-root="true"]');return Ge(e)?e:n.querySelector("[data-composition-id]")}var V=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),Qr=Object.freeze([V.start,V.duration,V.trackIndex]),eo=Object.freeze([V.derivedEnd]),to=Object.freeze([V.derivedEnd,V.legacyTrack]);function ze(n){if(n==null||n.trim()==="")return null;let e=Number(n);return Number.isFinite(e)?e:null}var Nt=n=>{let e=ze(n);return e!==null&&e>=0?e:null};function Se(n){return Nt(n("data-playback-start"))??Nt(n("data-media-start"))??0}var X=.1,K=10;function je(n){return Number.isFinite(n)&&n>0?Math.max(X,Math.min(K,n)):1}function Pt(n,e=1){let t=Number.parseFloat(n("data-playback-rate")??"");return je(Number.isFinite(t)&&t>0?t:e)}function qe(n){let e=ze(n("data-duration"));return e!==null&&e>0?e:null}function Lt(n,e){let t=qe(n);if(t!==null)return t;let i=ze(n("data-end"));return i!==null?i-e:null}var si=3;function Ye(n,e,t){return Number.isFinite(n)?Math.max(0,n-e)/je(t):null}function Xe(n){let{tag:e,authoredDurationSeconds:t,sourceDurationSeconds:i,mediaStartSeconds:r,playbackRate:o}=n;if(t!==null&&t>0)return{seconds:t,source:"authored"};if(e==="img")return{seconds:si,source:"default"};if(i===null)return{seconds:null,source:"pending",reason:"source duration not yet probed"};let a=Ye(i,r,o);return a===null?{seconds:null,source:"pending",reason:"source reported a non-finite duration"}:{seconds:a,source:"media"}}var Ft="data-fx-chain",io=Ft.slice(5);var J=(n="frequency",e="Frequency",t=1e3,i=20,r=2e4)=>({kind:"number",key:n,label:e,unit:"Hz",min:i,max:r,step:1,default:t,scale:"log",automatable:!0}),Ke=(n=.707,e="Bandwidth: higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:n,scale:"log",automatable:!0,hint:e}),Ee=(n=-40,e=40,t=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:n,max:e,step:.1,default:t,automatable:!0}),Ot={kind:"enum",key:"poles",label:"Slope",options:[{value:"1",label:"6 dB/oct"},{value:"2",label:"12 dB/oct"}],default:"2",hint:"Two poles is the usual biquad; one pole is gentler."},Vt=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[Ee(-60,12,0)],web:"gain-node"},{id:"peaking",label:"Peaking EQ",group:"filter",description:"Boost or cut a band, leaving everything either side alone.",params:[J("frequency","Frequency",1e3),Ee(-40,40,0),Ke(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[J("frequency","Frequency",200,20,2e3),Ee(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[J("frequency","Frequency",4e3,500,2e4),Ee(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies: the usual fix for rumble on a voice.",params:[J("frequency","Cutoff",300,20,2e4),Ke(.707),Ot],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies, which darkens or muffles a track.",params:[J("frequency","Cutoff",8e3,100,2e4),Ke(.707),Ot],web:"biquad-lowpass"},{id:"compressor",label:"Compressor",group:"dynamics",description:"Pull loud parts down so the quiet ones can come up.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-60,max:0,step:.5,default:-24,hint:"Level above which the compressor starts working."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:4},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:2e3,step:.1,default:20,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:250,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83,hint:"1 is a hard corner; higher eases into it."},{kind:"number",key:"makeup",label:"Makeup",unit:"dB",min:0,max:36,step:.1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1,hint:"Below 1 blends the dry signal back in."}],web:"worklet-compressor"},{id:"limiter",label:"Limiter",group:"dynamics",description:"Peak limiter that follows the signal's level. It has no lookahead, so a fast peak or an inter-sample peak can pass the ceiling; use the true-peak limiter for a delivery limit.",params:[{kind:"number",key:"limit",label:"Ceiling",unit:"dB",min:-24,max:0,step:.1,default:-1},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.1,max:80,step:.1,default:5},{kind:"number",key:"release",label:"Release",unit:"ms",min:1,max:8e3,step:1,default:50,scale:"log"},{kind:"number",key:"level_out",label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0}],web:"worklet-limiter"},{id:"truepeak",label:"True-peak limiter",group:"dynamics",description:"Lookahead limiter that holds a 4x estimate of the inter-sample peak at a dBTP ceiling; full-band noise can land up to about 1.7 dB above it. Adds lookahead plus about 0.3 ms of latency.",params:[{kind:"number",key:"ceiling",label:"Ceiling",unit:"dBTP",min:-24,max:0,step:.1,default:-1,hint:"Target true peak, measured on a 4x oversampled signal. Dense full-band sound can end up to about 1.7 dB above it."},{kind:"number",key:"lookahead",label:"Lookahead",unit:"ms",min:.5,max:10,step:.1,default:3,hint:"How far ahead the gain starts falling. Longer is smoother and adds the same latency."},{kind:"number",key:"release",label:"Release",unit:"ms",min:10,max:2e3,step:1,default:80,scale:"log"}],web:"worklet-truepeak"},{id:"gate",label:"Noise Gate",group:"dynamics",description:"Silence the track when it drops below the threshold.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-80,max:0,step:.5,default:-35},{kind:"number",key:"range",label:"Range",unit:"dB",min:-80,max:0,step:.5,default:-24,hint:"How far down the gate pulls when closed."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:10},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:9e3,step:.1,default:1,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:100,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83}],web:"worklet-gate"},{id:"saturate",label:"Saturation",group:"nonlinear",description:"Soft-clip the waveform for warmth or outright distortion.",params:[{kind:"enum",key:"type",label:"Curve",options:[{value:"tanh",label:"Tanh"},{value:"atan",label:"Arctan"},{value:"cubic",label:"Cubic"},{value:"exp",label:"Exponential"},{value:"alg",label:"Algebraic"},{value:"quintic",label:"Quintic"},{value:"sin",label:"Sine"},{value:"erf",label:"Error function"},{value:"hard",label:"Hard clip"}],default:"tanh"},{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-40,max:0,step:.1,default:-6},{kind:"number",key:"output",automatable:!0,label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0},{kind:"number",key:"oversample",label:"Oversample",unit:"x",min:1,max:8,step:1,default:4,hint:"Higher costs more but keeps aliasing down."}],web:"waveshaper"},{id:"bitcrush",label:"Bitcrush",group:"nonlinear",description:"Drop bit depth and sample rate for a lo-fi, digital sound.",params:[{kind:"number",key:"bits",label:"Bit depth",unit:"bit",min:1,max:32,step:.1,default:8},{kind:"number",key:"samples",label:"Sample hold",unit:"x",min:1,max:250,step:1,default:1,hint:"Repeats each sample N times, a crude downsample."},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-bitcrush"},{id:"pitchshift",label:"Pitch shift",group:"time",description:"Shifts pitch up or down without changing playback speed. Adds ~50 ms of latency.",params:[{kind:"number",key:"semitones",label:"Semitones",unit:"st",min:-12,max:12,step:1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-pitchshift"},{id:"delay",label:"Delay",group:"time",description:"Repeating echoes behind the dry signal.",params:[{kind:"number",key:"time",automatable:!0,label:"Time",unit:"ms",min:1,max:5e3,step:1,default:250,scale:"log"},{kind:"number",key:"feedback",automatable:!0,label:"Feedback",unit:"",min:.01,max:.95,step:.01,default:.35},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.4}],web:"delay-feedback"},{id:"chorus",label:"Chorus",group:"time",description:"Detuned copies of the signal for width and thickness.",params:[{kind:"number",key:"delay",automatable:!0,label:"Delay",unit:"ms",min:1,max:100,step:.1,default:7},{kind:"number",key:"depth",automatable:!0,label:"Depth",unit:"ms",min:0,max:10,step:.01,default:2},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.01,max:10,step:.01,default:1},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.5}],web:"chorus-lfo"},{id:"phaser",label:"Phaser",group:"time",description:"Sweeping notches moving through the spectrum.",params:[{kind:"number",key:"in_gain",automatable:!0,label:"Input",unit:"",min:0,max:1,step:.01,default:.4},{kind:"number",key:"out_gain",automatable:!0,label:"Output",unit:"",min:0,max:2,step:.01,default:.74},{kind:"number",key:"delay",label:"Delay",unit:"ms",min:.1,max:5,step:.1,default:3},{kind:"number",key:"decay",label:"Decay",unit:"",min:0,max:.99,step:.01,default:.4},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.1,max:2,step:.01,default:.5},{kind:"enum",key:"type",label:"Waveform",options:[{value:"0",label:"Triangular"},{value:"1",label:"Sinusoidal"}],default:"0"}],web:"allpass-phaser"},{id:"reverb",label:"Reverb",group:"time",description:"Room tail. Both ends convolve the same generated impulse, so preview matches render.",params:[{kind:"number",key:"size",label:"Room size",unit:"",min:.05,max:1,step:.01,default:.7},{kind:"number",key:"damping",label:"Damping",unit:"",min:0,max:1,step:.01,default:.5,hint:"Higher rolls the top off the tail faster."},{kind:"number",key:"wet",automatable:!0,label:"Wet",unit:"",min:0,max:1,step:.01,default:.35},{kind:"number",key:"dry",automatable:!0,label:"Dry",unit:"",min:0,max:1,step:.01,default:.7}],web:"convolver"}],ro=new Map(Vt.map(n=>[n.id,n]));var oo=Vt.map(n=>n.id);function ui(n){return 10**(n/20)}var Ut=ui(12);var Ze="data-automation",ho=Ze.slice(5),Je=1,li=512,I=class extends Error{constructor(e){super(e),this.name="AudioAutomationError"}},Te="volume",Re="rate";function Ht(n){if(n===Te)return{kind:"volume"};if(n===Re)return{kind:"rate"};let e=n.split(".");if(e.length===3&&e[0]==="fx"&&e[1]===di){let r=e[2];return r?{kind:"preset",presetId:r}:null}if(e.length!==3||e[0]!=="fx")return null;let[,t,i]=e;return!t||!i?null:{kind:"fx",nodeId:t,param:i}}var di="preset";var ci={min:0,max:Ut,step:.01,unit:"",label:"Volume",scale:"linear",default:1},mi={min:X,max:K,step:.05,unit:"x",label:"Speed",scale:"log",default:1};function Z(n){if(typeof n=="number")return Number.isFinite(n)?n:null;if(typeof n=="string"&&n.trim()!==""){let e=Number(n);return Number.isFinite(e)?e:null}return null}function pi(n){let e=Z(n);return e===null||e===0?0:Math.min(1,Math.max(-1,e))}function Wt(n,e){let t=Z(n),i=Z(e);if(t===null||i===null)return null;let r=s=>Math.min(.999,Math.max(.001,s)),o=r(t),a=r(i);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function fi(n){let e=pi(n?.curve),t=Wt(n?.viaX,n?.viaY);return{...e?{curve:e}:{},...t?{viaX:t.x,viaY:t.y}:{}}}function hi(n,e){let t=Z(n?.t),i=Z(n?.v);if(t===null||i===null)return null;let r=e?Math.min(e.max,Math.max(e.min,i)):i;return{t:Math.max(0,t),v:r,...fi(n)}}function bi(n,e){let t=n.map(r=>hi(r,e)).filter(r=>r!==null).sort((r,o)=>r.t-o.t),i=[];for(let r of t)i.length>0&&i[i.length-1].t===r.t?i[i.length-1]=r:i.push(r);return i.slice(0,li)}function gi(n){let e=[];for(let t of n.lanes){if(!Ht(t.target))continue;let i=t.target===Te?ci:t.target===Re?mi:null,r=bi(t.points??[],i);r.length>0&&e.push({target:t.target,points:r})}return{version:Je,lanes:e}}function Gt(n){let e;try{e=JSON.parse(n)}catch(r){throw new I(`Automation is not valid JSON: ${r.message}`)}if(typeof e!="object"||e===null)throw new I("Automation must be a JSON object.");let t=e;if(t.version!==Je)throw new I(`Unsupported automation version: ${String(t.version)}`);if(!Array.isArray(t.lanes))throw new I("Automation is missing a `lanes` array.");let i=t.lanes.map((r,o)=>{if(typeof r!="object"||r===null)throw new I(`Lane ${o} is not an object.`);let a=r;if(typeof a.target!="string"||!Ht(a.target))throw new I(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new I(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return gi({version:Je,lanes:i})}function _i(n,e){return e?Math.pow(n,Math.pow(2,2*e)):n}function yi(n,e){let t=n-.5,i=e-.5,r=.999,o=1e6,a=t>0?t/(r-n):t<0?-t/(n-(1-r)):0,s=i>0?i/(r-e):i<0?-i/(e-(1-r)):0,u=Math.min(o,Math.max(1,a,s));return{cx:n+t/u,cy:e+i/u,w:u}}function vi(n,e,t){let{cx:i,cy:r,w:o}=yi(e,t),a=2-2*o,s=n*a-1+2*o*i,u=-n*a-2*o*i,d=Ai(s,u,n),m=1-d,g=m*m+2*o*d*m+d*d;return g>0?(2*o*r*d*m+d*d)/g:n}function Ai(n,e,t){if(Math.abs(n)<1e-12)return Math.abs(e)<1e-12?t:-t/e;let i=Math.sqrt(Math.max(0,e*e-4*n*t)),r=(-e+i)/(2*n),o=(-e-i)/(2*n),a=s=>s>=-1e-9&&s<=1+1e-9;return a(r)?Math.min(1,Math.max(0,r)):a(o)?Math.min(1,Math.max(0,o)):t}function Si(n,e){let t=Wt(e.viaX,e.viaY);return t?vi(Math.min(1,Math.max(0,n)),t.x,t.y):_i(n,e.curve)}function Ei(n,e,t,i){return i==="log"&&n>0&&e>0?Math.exp(Math.log(n)+(Math.log(e)-Math.log(n))*t):n+(e-n)*t}function we(n,e,t="linear"){let i=n.points;if(i.length===0)return 0;let r=i[0];if(e<=r.t)return r.v;let o=i[i.length-1];if(e>=o.t)return o.v;let a=0,s=i.length-1;for(;s-a>1;){let g=a+s>>1;i[g].t<=e?a=g:s=g}let u=i[a],d=i[s],m=d.t-u.t;return m<=0?d.v:Ei(u.v,d.v,Si((e-u.t)/m,u),t)}var xe=new Map,Ti=64;function Bt(n,e=Te){let t=`${e}\0${n}`,i=xe.get(t);if(i!==void 0)return i;let r=null;try{r=Gt(n).lanes.find(o=>o.target===e)??null}catch{r=null}return xe.size>Ti&&xe.clear(),xe.set(t,r),r}var $t=48,zt=new WeakMap;function Ri(n){let e=n.points,t=e[0].v,i=e[e.length-1].v,r=[0],o=[0],a=u=>{let d=r[r.length-1];if(u<=d)return;let m=we(n,d,"log");r.push(u),o.push(o[o.length-1]+(m+we(n,u,"log"))/2*(u-d))},s=Math.max(0,e[0].t);a(s);for(let u=1;u<e.length;u+=1){let d=e[u-1].t,m=e[u].t;if(!(m<=0))for(let g=1;g<=$t;g+=1)a(Math.max(d,0)+(m-d)*g/$t)}return{ts:Float64Array.from(r),ss:Float64Array.from(o),firstRate:t,lastRate:i}}function wi(n){let e=zt.get(n);return e||(e=Ri(n),zt.set(n,e)),e}function xi(n){return typeof n!="number"&&n.points.length>0}function ki(n,e,t){let i=0,r=n.length-1;for(;r-i>1;){let o=i+r>>1;n[o]<=t?i=o:r=o}return e[i]+(e[r]-e[i])*(t-n[i])/(n[r]-n[i])}function Qe(n,e){if(typeof n=="number")return e/n;if(!xi(n))return e;let{ts:t,ss:i,firstRate:r,lastRate:o}=wi(n),a=t.length-1;return e<=0?e/r:e>=i[a]?t[a]+(e-i[a])/o:ki(i,t,e)}function Mi(n){return n?Bt(n,Re):null}function jt(n,e){return Mi(n)??e}var So=[{id:"montage",label:"Montage",points:[[0,.9],[.15,.3],[.5,2.5],[.85,.3],[1,.9]]},{id:"hero",label:"Hero",points:[[0,1],[.25,1.6],[.5,.25],[.75,1.6],[1,1]]},{id:"bullet",label:"Bullet",points:[[0,3],[.4,3],[.5,.15],[.6,3],[1,3]]},{id:"jump-cut",label:"Jump cut",points:[[0,.5],[.24,.5],[.26,3],[.5,3],[.52,.5],[.74,.5],[.76,3],[1,3]]},{id:"flash-in",label:"Flash in",points:[[0,.3],[.6,.6],[1,5]]},{id:"flash-out",label:"Flash out",points:[[0,5],[.4,.6],[1,.3]]},{id:"ramp-in",label:"Ramp in",points:[[0,.5],[1,1]]},{id:"ramp-out",label:"Ramp out",points:[[0,1],[1,.5]]},{id:"slowmo-middle",label:"Slow-mo middle",points:[[0,1],[1/3,.35],[2/3,.35],[1,1]]}];var v=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),To=Object.freeze([v.start,v.duration,v.trackIndex]),Ro=Object.freeze([v.derivedEnd]),wo=Object.freeze([v.derivedEnd,v.legacyTrack]);function D(n){if(n==null||n.trim()==="")return null;let e=Number(n);return Number.isFinite(e)?e:null}var Xt=/^[A-Za-z0-9_.:-]+$/;function Kt(n,e){let t=n.charCodeAt(e);return t>=48&&t<=57}function qt(n,e){let t=e;for(;t>=0&&Kt(n,t);)t--;return t}function Ii(n,e){let t=e;for(;t>=0&&(n[t]??"").trim()==="";)t--;return t}function Di(n){let e=n.length-1;if(!Kt(n,e))return null;let t=qt(n,e);return n[t]==="."&&(t=qt(n,t-1)),t+1}function Ci(n){let e=Di(n);if(e==null)return null;let t=Ii(n,e-1),i=n[t];if(i!=="+"&&i!=="-")return null;let r=n.slice(0,t).trim();if(!Xt.test(r))return null;let o=Number(n.slice(e));return Number.isFinite(o)?{refId:r,operator:i,magnitude:o}:null}function Q(n){let e=(n??"").trim();if(!e)return null;let t=D(e);if(t!=null)return{kind:"absolute",value:t};if(Xt.test(e))return{kind:"reference",refId:e,offset:0};let i=Ci(e);return i?{kind:"reference",refId:i.refId,offset:i.operator==="-"?-i.magnitude:i.magnitude}:null}function T(n,e,t,i){n.push({code:e,attribute:t,value:i})}function Ni(n,e,t,i){if(e==null||e.trim()==="")return t.defaultStart===void 0?0:t.defaultStart;if(!n)return T(i,"invalid-start",v.start,e),null;if(n.kind==="absolute")return Math.max(0,n.value);let r=t.resolveReferenceEnd?.(n.refId);return r==null||!Number.isFinite(r)?(T(i,"unresolved-start-reference",v.start,e),null):Math.max(0,r+n.offset)}var Pi=1e-9;function Li(n,e){return Math.abs(n-e)<=Pi}function Oi(n,e,t){let i=D(n);if(i==null){T(t,"deprecated-end",v.derivedEnd,n),T(t,"invalid-end",v.derivedEnd,n);return}if(e==null){T(t,"deprecated-end",v.derivedEnd,n);return}Li(i,e)||(T(t,"deprecated-end",v.derivedEnd,n),T(t,"conflicting-end",v.derivedEnd,n))}function Fi(n,e,t){let i=D(n);return i==null||i<0?(T(t,"invalid-duration",v.duration,n),{duration:null,end:null,durationSource:"invalid"}):{duration:i,end:e==null?null:e+i,durationSource:"duration"}}function Vi(n,e,t){T(t,"deprecated-end",v.derivedEnd,n);let i=D(n);return i==null?(T(t,"invalid-end",v.derivedEnd,n),{duration:null,end:null,durationSource:"invalid"}):e==null?{duration:null,end:i,durationSource:"legacy-end"}:i<e?(T(t,"end-before-start",v.derivedEnd,n),{duration:null,end:null,durationSource:"invalid"}):{duration:i-e,end:i,durationSource:"legacy-end"}}function Ui(n,e,t){let i=n.getAttribute(v.duration),r=n.getAttribute(v.derivedEnd);if(i==null)return r==null?{duration:null,end:null,durationSource:"missing"}:Vi(r,e,t);let o=Fi(i,e,t);return r!=null&&Oi(r,o.end,t),o}function Yt(n,e,t,i){let r=D(n);return r==null||!Number.isInteger(r)?(T(i,"invalid-track-index",e,n),{trackIndex:0,trackSource:"invalid"}):{trackIndex:r,trackSource:t}}function Hi(n,e){let t=n.getAttribute(v.trackIndex),i=n.getAttribute(v.legacyTrack);if(t==null&&i==null)return{trackIndex:0,trackSource:"default"};if(t==null&&i!=null)return T(e,"deprecated-layer",v.legacyTrack,i),Yt(i,v.legacyTrack,"legacy-layer",e);let r=Yt(t??"",v.trackIndex,"track-index",e);if(i==null)return r;T(e,"deprecated-layer",v.legacyTrack,i);let o=D(i);return o!=null&&o!==r.trackIndex&&T(e,"conflicting-layer",v.legacyTrack,i),r}function et(n,e={}){let t=[],i=n.getAttribute(v.start),r=Q(i),o=Ni(r,i,e,t),a=Ui(n,o,t),s=Hi(n,t);return{startExpression:r,start:o,...a,...s,diagnostics:t}}function P(n){return D(n)}function ee(n){return Pt(e=>n.getAttribute(e),M(n)?n.defaultPlaybackRate:1)}function tt(n){return jt(n.getAttribute("data-automation"),ee(n))}function nt(n){return Se(e=>n.getAttribute(e))}function U(n,e){return Wi(e,nt(n),tt(n))}function it(n){let e=Xe({tag:"video",authoredDurationSeconds:qe(t=>n.getAttribute(t)),sourceDurationSeconds:Number.isFinite(n.duration)?n.duration:null,mediaStartSeconds:nt(n),playbackRate:ee(n)});return e.source==="media"?U(n,n.duration):e.seconds}function ke(n,e=0){return!$e(n)||!n.hasAttribute("data-start")&&!n.hasAttribute("data-track-index")?null:Xe({tag:"img",authoredDurationSeconds:Lt(t=>n.getAttribute(t),e),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function Wi(n,e,t){return typeof t=="number"?Ye(n,e,t):Number.isFinite(n)?Qe(t,Math.max(0,n-e)):null}function Jt(){return globalThis}function te(n,e){if(typeof window>"u")return;let t=Jt(),i=t.__hf?.onSwallowed;if(i)try{i({label:n,error:e})}catch(r){}(t.__hfDebug||t.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${n} swallowed:`,e)}var Gi=n=>n.paused?.()===!0?(n.startTime?.()??0)+(n.totalDuration?.()??0)/Math.abs(n.timeScale?.()||1):0;function ne(n){try{if(typeof n?.duration!="function")return null;let e=n.getChildren?.(!1,!1,!0),t=Array.isArray(e)?e:[],i=Math.max(Number(n.duration()),...t.map(Gi));return Number.isFinite(i)?i:null}catch(e){return te("runtime.timelineDuration",e),null}}var Zt="data-hf-authored-duration",Qt="data-hf-authored-end";function ie(n){if(n==null||typeof n=="string"&&n.trim()==="")return null;let e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:null}function Me(n){let e=ie(n.start);if(e==null)return null;let t=Math.max(0,e),i=ie(n.duration),r=ie(n.authoredDuration),o=i!=null&&i>0?i:r!=null&&r>0?r:null;if(o!=null)return{start:t,duration:o,end:t+o};let a=ie(n.end),s=ie(n.authoredEnd),u=a!=null&&a>t?a:s!=null&&s>t?s:null;return{start:t,duration:u==null?null:u-t,end:u}}var en="data-hf-media-start-basis";function tn(n){return n?.trim().toLowerCase()==="global"?"global":"local"}function Bi(n){return tn(n.basis)==="global"?n.authoredStart:n.hostStart+n.authoredStart}function nn(n){return on(n)?Bi({authoredStart:n.authoredStart,hostStart:n.hostStart,basis:n.basis}):n.ordinaryStart()}function rn(n){return on(n)&&tn(n.basis)==="global"}function on(n){return!n.hasAutoStart&&n.authoredStart!=null&&n.hostStart!==0}function rt(n){return Se(e=>n.getAttribute(e))}function an(n,e){return n-rt(e)}function H(n){let e=n.timelineRegistry??{},t=n.includeAuthoredTimingAttrs??!1,i=n.documentRef??document,r=new WeakMap,o=new WeakMap,a=new Set,s=l=>{let f=i.getElementById(l);return f||(Array.from(i.querySelectorAll("[data-composition-id]")).find(_=>_.getAttribute("data-composition-id")===l)??null)},u=(l,f)=>t?l.getAttribute(f):null,d=l=>Me({start:0,duration:l.getAttribute("data-duration"),authoredDuration:u(l,"data-hf-authored-duration")})?.duration??Me({start:R(l,0),end:l.getAttribute("data-end"),authoredEnd:u(l,"data-hf-authored-end")})?.duration??null,m=l=>l!=null&&Number.isFinite(l)&&l>0?l:null,g=l=>{let f=l.getAttribute("data-composition-id");return f?m(ne(e[f])):null},y=l=>{let f=o.get(l);if(f!==void 0)return f;let _=d(l)??m(M(l)?U(l,l.duration):null)??m(ke(l))??g(l);return o.set(l,_),_},h=l=>l.hasAttribute("data-composition-src")||l.hasAttribute("data-composition-id")||l.hasAttribute("data-composition-file"),A=l=>{let f=l.parentElement;return!f||!l.hasAttribute("data-composition-id")||Q(l.getAttribute("data-start"))?null:h(f)?f:null},b=(l,f)=>an(R(l,f),A(l)??l),S=(l,f)=>{let _=l.hasAttribute("data-composition-id")?l.parentElement?.closest("[data-composition-id]"):l.closest("[data-composition-id]");return _?b(_,f):0},C=(l,f)=>{let _=Q(l.getAttribute("data-start"));if(!_){let Y=A(l);return Y?R(Y,f):f}if(_.kind==="absolute")return S(l,f)+Math.max(0,_.value);let x=s(_.refId);if(!x)return f;let L=R(x,0),he=y(x)??0,be=Math.min(0,S(l,0));return Math.max(be,L+he+_.offset)},R=(l,f)=>{let _=r.get(l);if(_!==void 0)return _??f;if(a.has(l))return f;a.add(l);try{let x=C(l,f);return r.set(l,x),x}finally{a.delete(l)}},k=l=>{let f=l.closest("[data-composition-id]");return{authoredStart:P(l.getAttribute("data-start")),hostStart:f?b(f,0):0,hasAutoStart:l.hasAttribute("data-hf-auto-start"),basis:l.getAttribute(en)}};return{resolveStartForElement:(l,f=0)=>R(l,Math.max(0,f)),resolveDurationForElement:l=>y(l),resolveMediaStartForElement:l=>{let f=k(l);return nn({...f,ordinaryStart:()=>R(l,f.hostStart)})},resolveHostStartForElement:l=>S(l,0),resolveHostSlotsForElement:l=>{let f=[];for(let _=l.parentElement;_;_=_.parentElement){if(!h(_)||A(_)||rt(_)<=0)continue;let x=R(_,0),L=d(_);f.push({start:x,end:L?x+L:1/0})}return f},isRootGlobalMediaStartForElement:l=>M(l)&&rn(k(l))}}function sn(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var un=7200,ot=1/60,re=n=>n!==null&&n>ot?n:null;function $i(n){return{width:ve(n.getAttribute("data-width")),height:ve(n.getAttribute("data-height"))}}function zi(n,e){let t=[];for(let i of n.querySelectorAll("video[data-start], audio[data-start]")){let r=e.mediaStart(i);if(!Number.isFinite(r))continue;let o=e.mediaDuration(i);o==null||o<=ot||t.push(Math.max(0,r)+o)}return re(ye({authoredDurationSeconds:null,clipEndsSeconds:t}).seconds)}function ji(n,e){let t=[];for(let r of n.querySelectorAll("[data-composition-id][data-start]")){if(r.parentElement?.closest("[data-composition-id]")!==n)continue;let o=e.resolveStartForElement(r,0),a=e.resolveDurationForElement(r);!Number.isFinite(o)||a==null||a<=0||t.push(Math.max(0,o)+a)}let i=P(n.getAttribute("data-duration"));return re(ye({authoredDurationSeconds:null,clipEndsSeconds:[i,...t]}).seconds)}var qi=n=>n.hasAttribute("data-composition-id")||n.hasAttribute("data-composition-src");function Yi(n,e,{unregisteredLottie:t}){let i=[];for(let o of n.querySelectorAll("[data-start]")){let a=e.resolveStartForElement(o,0);if(!Number.isFinite(a))continue;let s=e.resolveDurationForElement(o);s!=null?i.push(Math.max(0,a)+s):(M(o)||qi(o))&&i.push(null)}(t||n.querySelector("[data-lottie-src]"))&&i.push(null);let r=ye({authoredDurationSeconds:null,clipEndsSeconds:i});return r.pendingClips>0?{...r,seconds:null,source:"unresolved",reason:"a clip's length is pending"}:r}function Xi(n){if(n.declared!==null&&Number.isFinite(n.declared)&&n.declared>0)return n.declared;let e=re(n.timeline()),t=Math.max(0,...n.floors().map(u=>u??0)),i=Number.isFinite(n.fallback)&&n.fallback>ot?n.fallback:0,r=Math.max(t,i),a=e!==null&&e>=un&&re(r)!==null?null:e,s;return a!==null?s=Math.max(a,r):re(t)!==null?s=r:i>0?s=i:s=n.derived(),s>0?s:0}function ln(n){let e=Ae(n);if(!e)return null;let t=H({timelineRegistry:{},includeAuthoredTimingAttrs:!0,documentRef:n}),i=Xi({declared:P(e.getAttribute("data-duration")),timeline:()=>null,floors:()=>[zi(n,{mediaStart:t.resolveMediaStartForElement,mediaDuration:it}),ji(e,t)],fallback:0,derived:()=>Yi(e,t,{unregisteredLottie:!1}).seconds??0});return{...$i(e),fps:sn().canonicalFps,durationSeconds:i}}var dn="hyperframes-studio-preview";var cn="__hfPreviewErrors";function mn(n){return n.hasRuntime||n.runtimeInjected?!1:!!(n.hasNestedCompositions||n.hasTimelines&&n.attempts>=5)}function W(n){return typeof n=="object"&&n!==null}function pn(n){return W(n)&&typeof n.getDuration=="function"}function fn(n){return W(n)&&typeof n.duration=="function"&&typeof n.time=="function"&&typeof n.seek=="function"&&typeof n.play=="function"&&typeof n.pause=="function"}var G="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.177/dist/hyperframe.runtime.iife.js";function oe(n){if(n===null)return null;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>0?e:null}function Ki(n){let e=n?.querySelector("[data-composition-id][data-width][data-height]")??n?.querySelector("[data-width][data-height]");if(!e)return null;let t=oe(e.getAttribute("data-width")),i=oe(e.getAttribute("data-height"));return t!==null&&i!==null?{width:t,height:i}:null}function Ji(n){return Array.isArray(n)?n.find(e=>typeof e=="string"&&e.trim()!==""&&e!=="[object Event]")??null:null}var Ie=class{constructor(e,t){this._iframe=e;this._callbacks=t}_iframe;_callbacks;_interval=null;_runtimeInjected=!1;_runtimeScript=null;_failure=null;get failed(){return this._failure!==null&&this._failure.document===this._iframe.contentDocument}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._failure=null,this._runtimeInjected=!1;let e=0;this._interval=setInterval(()=>{e++;let t=null;try{t=this._poll(e)}catch(i){i instanceof DOMException&&i.name==="SecurityError"||(t={kind:"error",message:i instanceof Error?i.message:String(i)})}t??=this._deadlineOutcome(e),t&&(this.stop(),t.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(t.message)):this._callbacks.onReady(t.result))},200)}_deadlineOutcome(e){return e<40||this._callbacks.hostOwnsDeadline?.()?null:{kind:"error",message:"Composition timeline not found after 8s"}}_poll(e){let t=this._iframe.contentWindow;if(!t)return null;let i=Ji(Reflect.get(t,cn));if(i!==null)return{kind:"error",message:i};let r=this._iframe.contentDocument,o=Reflect.get(t,"__timelines"),a=this.hasRuntimeBridge(t);if(mn({hasRuntime:a,hasTimelines:W(o)&&Object.keys(o).length>0,hasNestedCompositions:!!r?.querySelector("[data-composition-src]"),runtimeInjected:this._runtimeInjected,attempts:e}))return this._injectRuntime(),null;if(this._runtimeInjected&&!a)return null;let s=this._resolveReadyResult(t,r);return s?{kind:"ready",result:s}:null}_resolveReadyResult(e,t){let i=this._resolvePlaybackDurationAdapter(e)??{kind:"document",getDuration:()=>0},r=i.getDuration();if(!Number.isFinite(r)||r<=0){if(i.kind==="direct-timeline")return null;r=t?ln(t)?.durationSeconds??0:0}return r<=0?null:{duration:r,adapter:{...i,getDuration:()=>r},compositionSize:Ki(t)}}stop(){this._runtimeScript&&(this._runtimeScript.onerror=null,this._runtimeScript=null),this.failed||(this._failure=null),this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{let e=this._iframe.contentWindow;return e?this._resolveDirectTimelineAdapterFromWindow(e):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(e){return this._resolveDirectTimelineAdapterFromWindow(e)}hasRuntimeBridge(e){return W(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let t=e.createElement("script");t.src=this._callbacks.resolveRuntimeUrl?.()??G,this._runtimeScript=t,t.onerror=()=>{this._runtimeScript!==t||this._iframe.contentDocument!==e||(this.stop(),this._failure={document:e},this._callbacks.onError("HyperFrames runtime failed to load from "+t.src))},(e.head||e.documentElement).appendChild(t),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let t=Reflect.get(e,"__timelines");if(!W(t))return null;let i=Object.keys(t);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in t?r:i[i.length-1],a=t[o];return fn(a)?a:null}_resolvePlaybackDurationAdapter(e){let t=Reflect.get(e,"__player");if(pn(t))return{kind:"runtime",getDuration:()=>t.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var hn=`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
resolveProject
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HLBAQBHT.js";
|
|
10
10
|
import {
|
|
11
11
|
formatBytes,
|
|
12
12
|
label
|
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
ensureDOMParser
|
|
16
16
|
} from "./chunk-442JNXRM.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-S3T3TDAB.js";
|
|
18
|
+
import "./chunk-2CEIKEFU.js";
|
|
19
19
|
import "./chunk-VWG7OQKU.js";
|
|
20
20
|
import "./chunk-T6AGUTZJ.js";
|
|
21
21
|
import {
|
|
@@ -28,12 +28,12 @@ import {
|
|
|
28
28
|
} from "./chunk-ZTZA4UWZ.js";
|
|
29
29
|
import {
|
|
30
30
|
withMeta
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-457OAAL2.js";
|
|
32
32
|
import "./chunk-K4WIOZFP.js";
|
|
33
33
|
import "./chunk-XUXGIA7H.js";
|
|
34
34
|
import "./chunk-WERLJGIC.js";
|
|
35
35
|
import "./chunk-ISN5GRYI.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-MPNVXG3J.js";
|
|
37
37
|
import "./chunk-XT6MXC7A.js";
|
|
38
38
|
import "./chunk-W2LGJSEN.js";
|
|
39
39
|
import "./chunk-VEQ7DKPG.js";
|
|
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
gateRegistryItemsCompatibility
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-P3MMF2JQ.js";
|
|
10
10
|
import "./chunk-XT7X6QCP.js";
|
|
11
11
|
import {
|
|
12
12
|
writeNewFileSync
|
|
@@ -29,8 +29,8 @@ import "./chunk-P6LJ4Y32.js";
|
|
|
29
29
|
import "./chunk-GMECXFAN.js";
|
|
30
30
|
import {
|
|
31
31
|
trackInitTemplate
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
} from "./chunk-S3T3TDAB.js";
|
|
33
|
+
import "./chunk-2CEIKEFU.js";
|
|
34
34
|
import "./chunk-VWG7OQKU.js";
|
|
35
35
|
import "./chunk-T6AGUTZJ.js";
|
|
36
36
|
import {
|
|
@@ -63,15 +63,15 @@ import "./chunk-WERLJGIC.js";
|
|
|
63
63
|
import "./chunk-ISN5GRYI.js";
|
|
64
64
|
import {
|
|
65
65
|
VERSION
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-MPNVXG3J.js";
|
|
67
67
|
import {
|
|
68
68
|
initialModelForLanguage
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-6GMZRHYD.js";
|
|
70
70
|
import "./chunk-X6HYBA4A.js";
|
|
71
71
|
import {
|
|
72
72
|
DEFAULT_MODEL,
|
|
73
73
|
hasFFmpeg
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-SJFA4CZ3.js";
|
|
75
75
|
import "./chunk-PO2SDVQA.js";
|
|
76
76
|
import {
|
|
77
77
|
findFFmpeg,
|
|
@@ -699,7 +699,7 @@ async function scaffoldProject(destDir, name, templateId, media, tailwind = fals
|
|
|
699
699
|
}
|
|
700
700
|
}
|
|
701
701
|
async function keepSkillsCurrent(destDir) {
|
|
702
|
-
const { updateSkills } = await import("./skills-
|
|
702
|
+
const { updateSkills } = await import("./skills-M2ANTFD6.js");
|
|
703
703
|
console.log();
|
|
704
704
|
console.log(c.bold("Checking AI coding skills against GitHub..."));
|
|
705
705
|
try {
|
|
@@ -901,17 +901,17 @@ var init_default = defineCommand({
|
|
|
901
901
|
if (audioPath) {
|
|
902
902
|
sourceFilePath2 = audioPath;
|
|
903
903
|
copyFileSync(audioPath, resolve(destDir2, basename(audioPath)));
|
|
904
|
-
const { getMediaDurationSeconds } = await import("./transcribe-
|
|
904
|
+
const { getMediaDurationSeconds } = await import("./transcribe-KAOCI5CW.js");
|
|
905
905
|
videoDuration2 = getMediaDurationSeconds(audioPath) ?? void 0;
|
|
906
906
|
console.log(`Audio: ${basename(audioPath)}`);
|
|
907
907
|
}
|
|
908
908
|
if (sourceFilePath2 && !skipTranscribe) {
|
|
909
909
|
try {
|
|
910
|
-
const { ensureWhisper, ensureModel } = await import("./manager-
|
|
910
|
+
const { ensureWhisper, ensureModel } = await import("./manager-VOGZQSK4.js");
|
|
911
911
|
await ensureWhisper();
|
|
912
912
|
await ensureModel(initialTranscriptionModel);
|
|
913
913
|
console.log("Transcribing...");
|
|
914
|
-
const { transcribe: runTranscribe } = await import("./transcribe-
|
|
914
|
+
const { transcribe: runTranscribe } = await import("./transcribe-KAOCI5CW.js");
|
|
915
915
|
const result = await runTranscribe(sourceFilePath2, destDir2, {
|
|
916
916
|
model: modelFlag,
|
|
917
917
|
language: languageFlag
|
|
@@ -1059,7 +1059,7 @@ var init_default = defineCommand({
|
|
|
1059
1059
|
mkdirSync(destDir, { recursive: true });
|
|
1060
1060
|
sourceFilePath = audioPath;
|
|
1061
1061
|
copyFileSync(audioPath, resolve(destDir, basename(audioPath)));
|
|
1062
|
-
const { getMediaDurationSeconds } = await import("./transcribe-
|
|
1062
|
+
const { getMediaDurationSeconds } = await import("./transcribe-KAOCI5CW.js");
|
|
1063
1063
|
videoDuration = getMediaDurationSeconds(audioPath) ?? void 0;
|
|
1064
1064
|
R.info(`Audio copied to ${c.accent(basename(audioPath))}`);
|
|
1065
1065
|
}
|
|
@@ -1069,7 +1069,7 @@ var init_default = defineCommand({
|
|
|
1069
1069
|
initialValue: true
|
|
1070
1070
|
});
|
|
1071
1071
|
if (!q(transcribeChoice) && transcribeChoice) {
|
|
1072
|
-
const { findWhisper } = await import("./manager-
|
|
1072
|
+
const { findWhisper } = await import("./manager-VOGZQSK4.js");
|
|
1073
1073
|
const needsInstall = findWhisper() === void 0;
|
|
1074
1074
|
if (needsInstall) {
|
|
1075
1075
|
R.info(c.dim("whisper-cpp not found \u2014 installing automatically..."));
|
|
@@ -1079,7 +1079,7 @@ var init_default = defineCommand({
|
|
|
1079
1079
|
needsInstall ? "Installing whisper-cpp (this may take a moment)..." : "Preparing transcription..."
|
|
1080
1080
|
);
|
|
1081
1081
|
try {
|
|
1082
|
-
const { ensureWhisper, ensureModel } = await import("./manager-
|
|
1082
|
+
const { ensureWhisper, ensureModel } = await import("./manager-VOGZQSK4.js");
|
|
1083
1083
|
await ensureWhisper({
|
|
1084
1084
|
onProgress: (msg) => spin2.message(msg)
|
|
1085
1085
|
});
|
|
@@ -1087,7 +1087,7 @@ var init_default = defineCommand({
|
|
|
1087
1087
|
onProgress: (msg) => spin2.message(msg)
|
|
1088
1088
|
});
|
|
1089
1089
|
spin2.message("Transcribing audio...");
|
|
1090
|
-
const { transcribe: runTranscribe } = await import("./transcribe-
|
|
1090
|
+
const { transcribe: runTranscribe } = await import("./transcribe-KAOCI5CW.js");
|
|
1091
1091
|
const transcribeResult = await runTranscribe(sourceFilePath, destDir, {
|
|
1092
1092
|
model: modelFlag,
|
|
1093
1093
|
language: languageFlag,
|
|
@@ -1169,7 +1169,7 @@ ${c.dim("Use --example blank for offline use.")}`
|
|
|
1169
1169
|
}
|
|
1170
1170
|
R.info("Opening studio preview...");
|
|
1171
1171
|
try {
|
|
1172
|
-
const previewCmd = await import("./preview-
|
|
1172
|
+
const previewCmd = await import("./preview-LNTJ62DX.js").then((m) => m.default);
|
|
1173
1173
|
await runCommand(previewCmd, { rawArgs: [destDir] });
|
|
1174
1174
|
} catch {
|
|
1175
1175
|
}
|
|
@@ -6,26 +6,26 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
createInspectCommand
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-X4PK5ZXP.js";
|
|
14
|
-
import "./chunk-BRHI7EIA.js";
|
|
15
|
-
import "./chunk-DQY6WTF7.js";
|
|
16
|
-
import "./chunk-SURF34CK.js";
|
|
17
|
-
import "./chunk-K2FLNJVB.js";
|
|
18
|
-
import "./chunk-OUMYTLPP.js";
|
|
9
|
+
} from "./chunk-2PNLYDGZ.js";
|
|
10
|
+
import "./chunk-HLBAQBHT.js";
|
|
11
|
+
import "./chunk-4YBNQDZM.js";
|
|
12
|
+
import "./chunk-6OV3YGZF.js";
|
|
19
13
|
import "./chunk-X7MTZ4T2.js";
|
|
20
|
-
import "./chunk-J53AJK3Q.js";
|
|
21
14
|
import "./chunk-XUHOIDKG.js";
|
|
22
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-PIH4P2G6.js";
|
|
23
16
|
import "./chunk-TNDNFZOK.js";
|
|
24
|
-
import "./chunk-6JR2XUEE.js";
|
|
25
17
|
import "./chunk-C6TPGUWD.js";
|
|
18
|
+
import "./chunk-6JR2XUEE.js";
|
|
26
19
|
import "./chunk-QWCXGTOH.js";
|
|
27
20
|
import "./chunk-GMJ3ILLW.js";
|
|
28
21
|
import "./chunk-FFDC5OWV.js";
|
|
22
|
+
import "./chunk-UEGULMAH.js";
|
|
23
|
+
import "./chunk-FH7WODJH.js";
|
|
24
|
+
import "./chunk-L6XT6GSV.js";
|
|
25
|
+
import "./chunk-X4PK5ZXP.js";
|
|
26
|
+
import "./chunk-BRHI7EIA.js";
|
|
27
|
+
import "./chunk-DQY6WTF7.js";
|
|
28
|
+
import "./chunk-K2FLNJVB.js";
|
|
29
29
|
import "./chunk-L3LJVYXS.js";
|
|
30
30
|
import "./chunk-442JNXRM.js";
|
|
31
31
|
import "./chunk-RGHQID2E.js";
|
|
@@ -41,8 +41,8 @@ import "./chunk-AWDFDFI3.js";
|
|
|
41
41
|
import "./chunk-P6LJ4Y32.js";
|
|
42
42
|
import "./chunk-GMECXFAN.js";
|
|
43
43
|
import "./chunk-5CS4T6C6.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-S3T3TDAB.js";
|
|
45
|
+
import "./chunk-2CEIKEFU.js";
|
|
46
46
|
import "./chunk-VWG7OQKU.js";
|
|
47
47
|
import "./chunk-T6AGUTZJ.js";
|
|
48
48
|
import "./chunk-S3S4TGEH.js";
|
|
@@ -52,12 +52,12 @@ import "./chunk-ZTZA4UWZ.js";
|
|
|
52
52
|
import "./chunk-KLIKCX6Q.js";
|
|
53
53
|
import "./chunk-EOOEC32M.js";
|
|
54
54
|
import "./chunk-7FMUTGOH.js";
|
|
55
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-457OAAL2.js";
|
|
56
56
|
import "./chunk-K4WIOZFP.js";
|
|
57
57
|
import "./chunk-XUXGIA7H.js";
|
|
58
58
|
import "./chunk-WERLJGIC.js";
|
|
59
59
|
import "./chunk-ISN5GRYI.js";
|
|
60
|
-
import "./chunk-
|
|
60
|
+
import "./chunk-MPNVXG3J.js";
|
|
61
61
|
import "./chunk-EOVYQ3IG.js";
|
|
62
62
|
import "./chunk-XT6MXC7A.js";
|
|
63
63
|
import "./chunk-YWSXFFO3.js";
|
|
@@ -6,13 +6,13 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
resolveProject
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HLBAQBHT.js";
|
|
10
10
|
import "./chunk-K2FLNJVB.js";
|
|
11
11
|
import {
|
|
12
12
|
ensureDOMParser
|
|
13
13
|
} from "./chunk-442JNXRM.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-S3T3TDAB.js";
|
|
15
|
+
import "./chunk-2CEIKEFU.js";
|
|
16
16
|
import "./chunk-VWG7OQKU.js";
|
|
17
17
|
import "./chunk-T6AGUTZJ.js";
|
|
18
18
|
import {
|
|
@@ -25,12 +25,12 @@ import {
|
|
|
25
25
|
} from "./chunk-ZTZA4UWZ.js";
|
|
26
26
|
import {
|
|
27
27
|
withMeta
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-457OAAL2.js";
|
|
29
29
|
import "./chunk-K4WIOZFP.js";
|
|
30
30
|
import "./chunk-XUXGIA7H.js";
|
|
31
31
|
import "./chunk-WERLJGIC.js";
|
|
32
32
|
import "./chunk-ISN5GRYI.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-MPNVXG3J.js";
|
|
34
34
|
import "./chunk-XT6MXC7A.js";
|
|
35
35
|
import "./chunk-W2LGJSEN.js";
|
|
36
36
|
import {
|
|
@@ -2514,7 +2514,7 @@ function printOnionShotSaved(saved, elementCount) {
|
|
|
2514
2514
|
console.log();
|
|
2515
2515
|
}
|
|
2516
2516
|
async function runOnionShot(comps, allComps, projectDir, entryFile, args) {
|
|
2517
|
-
const { captureMotionPathShot } = await import("./motionShot-
|
|
2517
|
+
const { captureMotionPathShot } = await import("./motionShot-GPNESXTN.js");
|
|
2518
2518
|
const requests = collectShotSelectors(args.selector ? allComps : comps);
|
|
2519
2519
|
const guardError = onionShotGuardError(projectDir, requests, args.ghost ?? false);
|
|
2520
2520
|
if (guardError) {
|
|
@@ -245,7 +245,7 @@ var lambda_default = defineCommand({
|
|
|
245
245
|
}
|
|
246
246
|
switch (subcommand) {
|
|
247
247
|
case "deploy": {
|
|
248
|
-
const { runDeploy } = await import("./deploy-
|
|
248
|
+
const { runDeploy } = await import("./deploy-3TTQZGTF.js");
|
|
249
249
|
const { parseReservedConcurrency } = await import("./sam-IKPEJRRO.js");
|
|
250
250
|
await runDeploy({
|
|
251
251
|
stackName,
|
|
@@ -396,7 +396,7 @@ var lambda_default = defineCommand({
|
|
|
396
396
|
return;
|
|
397
397
|
}
|
|
398
398
|
case "destroy": {
|
|
399
|
-
const { runDestroy } = await import("./destroy-
|
|
399
|
+
const { runDestroy } = await import("./destroy-BEL232I5.js");
|
|
400
400
|
await runDestroy({ stackName, awsProfile: args.profile });
|
|
401
401
|
return;
|
|
402
402
|
}
|