hyperframes 0.8.186 → 0.8.188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{add-UGK7AZI6.js → add-UORF6235.js} +12 -12
- package/dist/{animatedGifPrep-HPZPSB43.js → animatedGifPrep-23MLSEXF.js} +7 -7
- package/dist/api.js +15 -15
- package/dist/{asset-X2GTFWOY.js → asset-DOKDVHCW.js} +2 -2
- package/dist/{assetCataloger-5NWEG4IU.js → assetCataloger-CD27MHEY.js} +7 -7
- package/dist/{audio-7PBM5F3H.js → audio-3NMZHNNU.js} +15 -15
- package/dist/{auth-WABSMO46.js → auth-AWKTSKGC.js} +1 -1
- package/dist/{autoUpdate-6SCMLTSC.js → autoUpdate-VBOI4CNU.js} +2 -2
- package/dist/{backgroundChecks-XOGPAAR3.js → backgroundChecks-S4R454YU.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-VR6IA77K.js → batchRender-EGPYNDHK.js} +4 -4
- package/dist/{beats-3IWXLMSC.js → beats-YENEQUOA.js} +4 -4
- package/dist/{benchmark-2SSYATCX.js → benchmark-THSJIQG7.js} +9 -9
- package/dist/{browser-PMRN345D.js → browser-BDMVQ6WJ.js} +3 -3
- package/dist/{bundleWithLocalizedFonts-TT32MZBO.js → bundleWithLocalizedFonts-3QG722YD.js} +2 -2
- package/dist/{capture-BDGYTE57.js → capture-WM4XDMFX.js} +2 -2
- package/dist/{capture-4VD6AKUJ.js → capture-Z6BGCTK3.js} +10 -10
- package/dist/{captureCompositionFrame-5FVLAETA.js → captureCompositionFrame-EMHSAIBZ.js} +11 -11
- package/dist/{catalog-HUYZO5D7.js → catalog-7TV6UNCG.js} +12 -12
- package/dist/{catch-up-SSGTR2ZT.js → catch-up-63IUDZRW.js} +4 -4
- package/dist/{check-JWUWHGM2.js → check-7RHZL4DV.js} +32 -32
- package/dist/{checkBrowser-X7G6YNR7.js → checkBrowser-PF56CT5X.js} +29 -29
- package/dist/{chunk-5ZMXGNGC.js → chunk-2DHCCBCN.js} +9 -9
- package/dist/{chunk-ZKBW7NU2.js → chunk-2WUDFZCR.js} +2 -2
- package/dist/{chunk-YNH6ERDL.js → chunk-44QWRPGE.js} +2 -2
- package/dist/{chunk-ACLABKEF.js → chunk-46VJ2UAV.js} +5 -5
- package/dist/{chunk-4AFNEKU7.js → chunk-57XL23DE.js} +1 -1
- package/dist/{chunk-J36JVBLR.js → chunk-5C7R55BJ.js} +1 -1
- package/dist/{chunk-WHMFW5ET.js → chunk-5DPV7LU3.js} +3 -3
- package/dist/{chunk-YQICCAVA.js → chunk-5OZI55AC.js} +1 -1
- package/dist/{chunk-5UBZPG74.js → chunk-6A45RKAK.js} +1 -1
- package/dist/{chunk-LDW3KVGK.js → chunk-6HYPEIH7.js} +2 -2
- package/dist/{chunk-2PZZMAME.js → chunk-6HZ7TSJJ.js} +13 -8
- package/dist/{chunk-ROWEDRVX.js → chunk-6OWNUXTU.js} +1 -1
- package/dist/{chunk-77QM6YRQ.js → chunk-6Q5CFUAP.js} +1 -1
- package/dist/{chunk-DTXDQ6OP.js → chunk-B2P4JRUJ.js} +1 -1
- package/dist/chunk-BPX7LZG6.js +3896 -0
- package/dist/{chunk-TH7J3JZ5.js → chunk-BU4HRISA.js} +15 -15
- package/dist/{chunk-UJZT6HNN.js → chunk-BWEZDN6U.js} +1 -1
- package/dist/{chunk-MY6CVBDD.js → chunk-CE7EQUBV.js} +1 -1
- package/dist/{chunk-TQ2RRB5V.js → chunk-DA4TQFSF.js} +1 -1
- package/dist/{chunk-RPUIMFHF.js → chunk-DG4ME554.js} +1 -1
- package/dist/{chunk-Y2M6XSNK.js → chunk-DLFAVRF3.js} +1 -1
- package/dist/{chunk-TTVHYD5R.js → chunk-EI7FP7F3.js} +1 -1
- package/dist/{chunk-22QKQDEE.js → chunk-FOLMMQF3.js} +11 -11
- package/dist/{chunk-HZ7M2MZA.js → chunk-FSTLXRIN.js} +1 -1
- package/dist/{chunk-4NTW45W5.js → chunk-FWVILDOZ.js} +3 -3
- package/dist/{chunk-FCWFV4P7.js → chunk-GYBPAKBM.js} +2269 -2270
- package/dist/{chunk-ID5AJ4L3.js → chunk-HKUZCSNZ.js} +2 -2
- package/dist/{chunk-YRAJDFIN.js → chunk-HPQSUPR7.js} +1 -1
- package/dist/{chunk-3YHGQJI6.js → chunk-I7C5GUEQ.js} +3 -3
- package/dist/{chunk-7MVODWQF.js → chunk-IA2IDJAG.js} +1 -1
- package/dist/{chunk-PEIV2SOG.js → chunk-IJYR4TTA.js} +1 -1
- package/dist/{chunk-GTMBII7X.js → chunk-JWRT2IXO.js} +1 -1
- package/dist/{chunk-2II34JPM.js → chunk-JYC53CW4.js} +11 -11
- package/dist/{chunk-U4BMRIE6.js → chunk-KDBPZOXK.js} +9 -7
- package/dist/{chunk-FRLTKTOR.js → chunk-KWSEIVR6.js} +1 -1
- package/dist/{chunk-27H2363S.js → chunk-KY7375C4.js} +1 -1
- package/dist/{chunk-KNLSYCI5.js → chunk-L243NE72.js} +7 -7
- package/dist/{chunk-R6IGQ5NO.js → chunk-LWY3PFJ7.js} +2 -2
- package/dist/{chunk-5ZMIVTHN.js → chunk-LWYZN7HS.js} +1 -1
- package/dist/{chunk-DQZMJS2P.js → chunk-MJKUCR3C.js} +1 -1
- package/dist/{chunk-7AUMTARQ.js → chunk-MTPPEEYZ.js} +3 -3
- package/dist/{chunk-UAJCTEK2.js → chunk-MXXX6WVC.js} +1 -1
- package/dist/{chunk-Z5233OAN.js → chunk-NFHRGHCJ.js} +5 -5
- package/dist/{chunk-T4RP55P2.js → chunk-NFLZNSUZ.js} +1 -1
- package/dist/{chunk-4XFFJAWS.js → chunk-NMOTNNP2.js} +1 -1
- package/dist/{chunk-WLHNIIXU.js → chunk-OJOZXWLC.js} +3 -3
- package/dist/{chunk-HOFX63F2.js → chunk-OKSYDQHY.js} +3 -3
- package/dist/{chunk-6IOBAOU7.js → chunk-PMXR3IUH.js} +1 -1
- package/dist/{chunk-RFJ6SX4U.js → chunk-PQLFJYGP.js} +5 -5
- package/dist/{chunk-PFD25NAC.js → chunk-RIJHDTM5.js} +4 -0
- package/dist/{chunk-BRTDLVK3.js → chunk-SMF6YAUL.js} +9 -11
- package/dist/{chunk-RVZNSKRH.js → chunk-T3OXKSRG.js} +2 -2
- package/dist/{chunk-Q447CX26.js → chunk-TSFA2Y5C.js} +60 -47
- package/dist/{chunk-NPDPDEPP.js → chunk-UF6RCYA5.js} +1 -1
- package/dist/{chunk-EZINX6HH.js → chunk-V6NM4KL3.js} +3 -3
- package/dist/{chunk-U7QTMRLW.js → chunk-W2KGJHUL.js} +2 -2
- package/dist/{chunk-7MLFYMFB.js → chunk-X556BGL7.js} +1 -1
- package/dist/{chunk-UJKQWGFF.js → chunk-X7HBSTCZ.js} +8 -0
- package/dist/{chunk-CML25PAF.js → chunk-XNFDDVJS.js} +27 -3
- package/dist/{chunk-ZVBEGBII.js → chunk-XPVN4R66.js} +3 -3
- package/dist/{chunk-7M7TMM4S.js → chunk-YCW345M4.js} +147 -118
- package/dist/{chunk-RNZEQTWZ.js → chunk-YV4WT7CJ.js} +4 -2
- package/dist/{chunk-K6KBOORN.js → chunk-YZ73IPW2.js} +1 -1
- package/dist/{clean-IM2JIAUT.js → clean-43O47OTN.js} +16 -16
- package/dist/cli.js +53 -53
- package/dist/{cloud-6IPBCJSX.js → cloud-ZFWKFFSU.js} +4 -4
- package/dist/{cloudrun-MWZ6S2I2.js → cloudrun-XBBESKEU.js} +5 -5
- package/dist/{compare-WD7A2TV5.js → compare-OW4ELTFZ.js} +26 -26
- package/dist/{compiler-2EKSMC3I.js → compiler-23MT6CX6.js} +4 -4
- package/dist/{component-JKALWH36.js → component-SDV7LWH6.js} +3 -3
- package/dist/{compositions-643NAG4A.js → compositions-DI5QZCEK.js} +11 -11
- package/dist/{delete-EASPXKHQ.js → delete-QY2NSQ2G.js} +4 -4
- package/dist/deploy-MJVC4EFY.js +300 -0
- package/dist/{destroy-4B5HW5FH.js → destroy-SSPAKADI.js} +13 -3
- package/dist/{dist-LM7AVHOU.js → dist-JH32CBQL.js} +1 -1
- package/dist/{dist-F6FOKRSU.js → dist-RFTGYT26.js} +3 -3
- package/dist/{doctor-7XUVYDJQ.js → doctor-7ZOECPHR.js} +11 -11
- package/dist/{events-TULV6D3G.js → events-WIX4JM2K.js} +3 -3
- package/dist/{events-5TTPYBKG.js → events-XVQQGECC.js} +2 -2
- package/dist/{feedback-4FTPWM6P.js → feedback-GBYBR6UO.js} +7 -7
- package/dist/{ffmpeg-MP7ZVYLZ.js → ffmpeg-QGQBYMO3.js} +7 -7
- package/dist/{figma-B7LFWYKO.js → figma-2CMKUGJQ.js} +3 -3
- package/dist/fontLocalizeCli.js +9 -9
- package/dist/{get-F7W4AQ2V.js → get-RWCNUOHU.js} +4 -4
- package/dist/{gpuPolicy-NSNVDFXC.js → gpuPolicy-UGWSN32D.js} +7 -7
- package/dist/{grade-compare-6QXDTLS2.js → grade-compare-J2MX7HZL.js} +27 -27
- package/dist/{help-RJAA4O74.js → help-SH3ID7MV.js} +1 -1
- package/dist/{history-OOQBDVV5.js → history-C7V5QH7J.js} +6 -6
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +65 -64
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-5OGGYYLO.js → info-ZN3JJ3IN.js} +8 -8
- package/dist/{init-DM3TJKW2.js → init-KRNGSRNH.js} +27 -27
- package/dist/{inspect-FECQCLS5.js → inspect-AYDZXTX7.js} +27 -27
- package/dist/{installer-WOG4VORV.js → installer-N6AIK6XQ.js} +5 -5
- package/dist/{keyframes-SZHWUF5Y.js → keyframes-2RFUCEDK.js} +6 -6
- package/dist/{lambda-JG2ZRGMC.js → lambda-VW3CF6EE.js} +20 -13
- package/dist/{layout-7ACF7ZKC.js → layout-OE64APE7.js} +27 -27
- package/dist/{lint-ZCQGMILV.js → lint-UXJTX5WS.js} +7 -7
- package/dist/{lintProject-JATQKR64.js → lintProject-XM3DLUKG.js} +1 -1
- package/dist/{list-MH2X3Y2T.js → list-KOL6JPZJ.js} +7 -7
- package/dist/{login-CK46WX5U.js → login-MAQXOPDG.js} +4 -4
- package/dist/{manager-GXTPNJVW.js → manager-3LZKRK7P.js} +8 -8
- package/dist/{media-treatment-EH2AT34Z.js → media-treatment-COLSXXQJ.js} +13 -13
- package/dist/{models-D5XP2UK6.js → models-XXWMGOD7.js} +11 -11
- package/dist/{motionShot-UR7D3SRQ.js → motionShot-RECBNTBZ.js} +14 -14
- package/dist/{normalize-audio-635JOR5W.js → normalize-audio-LKVGHZWR.js} +6 -6
- package/dist/{open-6WE5WFVM.js → open-UEQVSRKH.js} +12 -12
- package/dist/{parakeetRunner-STHZPG32.js → parakeetRunner-QVPCZ36U.js} +12 -12
- package/dist/{pipeline-LVEKRETU.js → pipeline-5VSMQBKW.js} +8 -8
- package/dist/{play-W6TDW4FE.js → play-MNEABYN4.js} +19 -19
- package/dist/{policies-XXNGXWHV.js → policies-MBWGLMWB.js} +17 -0
- package/dist/{preflight-LIMQXLR7.js → preflight-ONJ74DWQ.js} +8 -8
- package/dist/{present-RX5QX6UR.js → present-GQ24GTYX.js} +15 -15
- package/dist/{preview-KIWTWK63.js → preview-ALL7O4RG.js} +18 -18
- package/dist/{producer-TSNKSCUM.js → producer-43L2UDF6.js} +1 -1
- package/dist/{progress-NHJIHAAG.js → progress-PX3PVAIM.js} +5 -3
- package/dist/{projectConfig-NCP7JRH4.js → projectConfig-VJXUXK7U.js} +7 -7
- package/dist/{publication-5W5UZWGC.js → publication-L6E5NTFV.js} +3 -3
- package/dist/{publish-7WR4XJ6I.js → publish-LCLBJEPR.js} +9 -9
- package/dist/{remove-background-43JGBRWQ.js → remove-background-PDL4KPR4.js} +9 -9
- package/dist/{render-7T44HIM6.js → render-7HVKJ7T4.js} +9 -7
- package/dist/{render-456HCO6O.js → render-J33ZHR6I.js} +44 -28
- package/dist/{render-WHMLYIOI.js → render-OPCRLZVL.js} +31 -22
- package/dist/{render-batch-LURBJTBV.js → render-batch-ZHHIGXU3.js} +5 -5
- package/dist/renderSetupWorker.js +1 -1
- package/dist/{resolver-MBIW4VC4.js → resolver-KNNIMMBM.js} +5 -5
- package/dist/{sam-MC24SZHC.js → sam-FHJ7IL7T.js} +3 -1
- package/dist/{sherpa-5J2AALED.js → sherpa-GI62H3H5.js} +11 -11
- package/dist/{sites-MAVH57MO.js → sites-5PWHAMEG.js} +1 -1
- package/dist/skills/hyperframes/references/motion.md +1 -0
- package/dist/{skills-UHOXOGGF.js → skills-IUTD6VQO.js} +5 -5
- package/dist/{skillsUpdateCheck-PDZIFUJE.js → skillsUpdateCheck-XZE7MJG6.js} +3 -3
- package/dist/{snapshot-PFV7ALLH.js → snapshot-XEXTHLZP.js} +32 -32
- package/dist/{src-XK5YIR6L.js → src-6STRGCDC.js} +8 -8
- package/dist/{src-DCVSEODX.js → src-ZPIV4PGX.js} +10 -6
- package/dist/{state-ORRPOLMQ.js → state-JPNCCXAV.js} +3 -1
- package/dist/{staticProjectServer-4IE4G4JO.js → staticProjectServer-HJLT7MHE.js} +15 -15
- package/dist/studio/assets/{hyperframes-player-B_skzvYC.js → hyperframes-player-DwWIKKZG.js} +1 -1
- package/dist/studio/assets/{index-CgLbvCUo.js → index-Cjwz7_13.js} +1 -1
- package/dist/studio/assets/{index-Dn5FAk2e.js → index-M8lEpS0Q.js} +130 -130
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-JMWYU7KF.js → studio-api-OBHEB5ND.js} +9 -9
- package/dist/{studioServer-BWLSTGIG.js → studioServer-KRIZFYML.js} +45 -45
- package/dist/{telemetry-JCU3AV7W.js → telemetry-N5OOVBCP.js} +3 -3
- package/dist/templates/_shared/AGENTS.md +5 -0
- package/dist/templates/_shared/CLAUDE.md +5 -0
- package/dist/{timeline-BCIFQYOM.js → timeline-YUFH65OG.js} +17 -17
- package/dist/{tokens-7IXKALMQ.js → tokens-K4VYLSWJ.js} +2 -2
- package/dist/{transcribe-HW7HGJ4V.js → transcribe-CY4CVO54.js} +16 -16
- package/dist/{transcribe-ZUQD3B32.js → transcribe-GMQXKDYN.js} +10 -10
- package/dist/{updateCheck-Z6LNEK7B.js → updateCheck-2625RXK4.js} +2 -2
- package/dist/{upgrade-JYH72JGL.js → upgrade-6ZY5MSBQ.js} +2 -2
- package/dist/{urlDownloader-WKLFHSUH.js → urlDownloader-PVJWG7V3.js} +6 -6
- package/dist/{validate-QCC27YYI.js → validate-XSRHEE7E.js} +21 -21
- package/dist/{video-EZ7ONY6L.js → video-MBFHC54F.js} +7 -7
- package/dist/warmCheck.js +34 -34
- package/package.json +18 -2
- package/dist/chunk-UOZX5W5T.js +0 -3852
- package/dist/deploy-CDKCQ5MX.js +0 -196
|
@@ -5897,6 +5897,53 @@ function findRuntimeMediaSrcMutationFindings(ctx) {
|
|
|
5897
5897
|
}
|
|
5898
5898
|
return findings;
|
|
5899
5899
|
}
|
|
5900
|
+
var VOID_ELEMENTS = /* @__PURE__ */ new Set([
|
|
5901
|
+
"area",
|
|
5902
|
+
"base",
|
|
5903
|
+
"br",
|
|
5904
|
+
"col",
|
|
5905
|
+
"embed",
|
|
5906
|
+
"hr",
|
|
5907
|
+
"img",
|
|
5908
|
+
"input",
|
|
5909
|
+
"link",
|
|
5910
|
+
"meta",
|
|
5911
|
+
"source",
|
|
5912
|
+
"track",
|
|
5913
|
+
"wbr"
|
|
5914
|
+
]);
|
|
5915
|
+
var closeTag = (name) => new RegExp(`</${name}>`, "gi");
|
|
5916
|
+
function innermostTimedWrapper(source, tags, media) {
|
|
5917
|
+
let found = null;
|
|
5918
|
+
for (const parent of tags) {
|
|
5919
|
+
if (parent.index >= media.index) break;
|
|
5920
|
+
if (parent.name === "video" || parent.name === "audio" || VOID_ELEMENTS.has(parent.name))
|
|
5921
|
+
continue;
|
|
5922
|
+
if (readDecodedAttr(parent.raw, "data-composition-id")) continue;
|
|
5923
|
+
const start = readAttr(parent.raw, "data-start");
|
|
5924
|
+
if (!start) continue;
|
|
5925
|
+
const events = [
|
|
5926
|
+
...tags.filter((t) => t.name === parent.name && t.index > parent.index && t.index < media.index).map((t) => [t.index, 1]),
|
|
5927
|
+
...[...source.substring(parent.index, media.index).matchAll(closeTag(parent.name))].map(
|
|
5928
|
+
(m) => [parent.index + m.index, -1]
|
|
5929
|
+
)
|
|
5930
|
+
];
|
|
5931
|
+
let depth = 1;
|
|
5932
|
+
for (const [, delta] of events.sort((x, y) => x[0] - y[0])) {
|
|
5933
|
+
depth += delta;
|
|
5934
|
+
if (depth === 0) break;
|
|
5935
|
+
}
|
|
5936
|
+
if (depth > 0) {
|
|
5937
|
+
found = {
|
|
5938
|
+
name: parent.name,
|
|
5939
|
+
id: readAttr(parent.raw, "id") || void 0,
|
|
5940
|
+
start,
|
|
5941
|
+
duration: readAttr(parent.raw, "data-duration")
|
|
5942
|
+
};
|
|
5943
|
+
}
|
|
5944
|
+
}
|
|
5945
|
+
return found;
|
|
5946
|
+
}
|
|
5900
5947
|
var mediaRules = [
|
|
5901
5948
|
findNestedMediaStartBasisFindings,
|
|
5902
5949
|
findSpeedRampOnNonMediaFindings,
|
|
@@ -6033,54 +6080,19 @@ var mediaRules = [
|
|
|
6033
6080
|
// video_nested_in_timed_element
|
|
6034
6081
|
({ source, tags }) => {
|
|
6035
6082
|
const findings = [];
|
|
6036
|
-
const voidElements = /* @__PURE__ */ new Set([
|
|
6037
|
-
"area",
|
|
6038
|
-
"base",
|
|
6039
|
-
"br",
|
|
6040
|
-
"col",
|
|
6041
|
-
"embed",
|
|
6042
|
-
"hr",
|
|
6043
|
-
"img",
|
|
6044
|
-
"input",
|
|
6045
|
-
"link",
|
|
6046
|
-
"meta",
|
|
6047
|
-
"source",
|
|
6048
|
-
"track",
|
|
6049
|
-
"wbr"
|
|
6050
|
-
]);
|
|
6051
|
-
const timedTagPositions = [];
|
|
6052
|
-
for (const tag of tags) {
|
|
6053
|
-
if (tag.name === "video" || tag.name === "audio") continue;
|
|
6054
|
-
if (voidElements.has(tag.name)) continue;
|
|
6055
|
-
if (readDecodedAttr(tag.raw, "data-composition-id")) continue;
|
|
6056
|
-
if (readAttr(tag.raw, "data-start")) {
|
|
6057
|
-
timedTagPositions.push({
|
|
6058
|
-
name: tag.name,
|
|
6059
|
-
start: tag.index,
|
|
6060
|
-
id: readAttr(tag.raw, "id") || void 0
|
|
6061
|
-
});
|
|
6062
|
-
}
|
|
6063
|
-
}
|
|
6064
6083
|
for (const tag of tags) {
|
|
6065
6084
|
if (tag.name !== "video") continue;
|
|
6066
6085
|
if (!readAttr(tag.raw, "data-start")) continue;
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6076
|
-
|
|
6077
|
-
fixHint: "Time the wrapper OR the video, never both: remove data-start from the wrapper (use it as a non-timed visual container), or move the <video> up to be a direct child of the stage.",
|
|
6078
|
-
snippet: truncateSnippet(tag.raw)
|
|
6079
|
-
});
|
|
6080
|
-
break;
|
|
6081
|
-
}
|
|
6082
|
-
}
|
|
6083
|
-
}
|
|
6086
|
+
const parent = innermostTimedWrapper(source, tags, tag);
|
|
6087
|
+
if (!parent) continue;
|
|
6088
|
+
findings.push({
|
|
6089
|
+
code: "video_nested_in_timed_element",
|
|
6090
|
+
severity: "error",
|
|
6091
|
+
message: `<video> with data-start is nested inside <${parent.name}${parent.id ? ` id="${parent.id}"` : ""}> which also has data-start. The frame extractor resolves the video's start from its own data-start without the wrapper's offset, while visibility uses the wrapper's window, so the two disagree: the clip shows the wrong source frames and then disappears partway through its slot.`,
|
|
6092
|
+
elementId: readAttr(tag.raw, "id") || void 0,
|
|
6093
|
+
fixHint: "Time the wrapper OR the video, never both: remove data-start from the wrapper (use it as a non-timed visual container), or move the <video> up to be a direct child of the stage.",
|
|
6094
|
+
snippet: truncateSnippet(tag.raw)
|
|
6095
|
+
});
|
|
6084
6096
|
}
|
|
6085
6097
|
return findings;
|
|
6086
6098
|
},
|
|
@@ -6148,7 +6160,7 @@ var mediaRules = [
|
|
|
6148
6160
|
return findings;
|
|
6149
6161
|
},
|
|
6150
6162
|
// media_missing_data_start + media_missing_id + media_missing_src + media_preload_none
|
|
6151
|
-
({ tags }) => {
|
|
6163
|
+
({ source, tags }) => {
|
|
6152
6164
|
const findings = [];
|
|
6153
6165
|
for (const tag of tags) {
|
|
6154
6166
|
if (tag.name !== "video" && tag.name !== "audio") continue;
|
|
@@ -6156,12 +6168,13 @@ var mediaRules = [
|
|
|
6156
6168
|
const hasId = readAttr(tag.raw, "id");
|
|
6157
6169
|
const hasSrc = mediaHasResolvableSrc(tag, tags);
|
|
6158
6170
|
if (hasSrc && !hasDataStart) {
|
|
6171
|
+
const wrapper = tag.name === "video" ? innermostTimedWrapper(source, tags, tag) : null;
|
|
6159
6172
|
findings.push({
|
|
6160
6173
|
code: "media_missing_data_start",
|
|
6161
6174
|
severity: "error",
|
|
6162
6175
|
message: `<${tag.name}${hasId ? ` id="${hasId}"` : ""}> has src but no data-start. HyperFrames cannot own playback for untimed media, so preview and render behavior can diverge.`,
|
|
6163
6176
|
elementId: hasId || void 0,
|
|
6164
|
-
fixHint: `Add data-start="0" (or the intended start time) and data-duration if the clip should stop before the source ends.`,
|
|
6177
|
+
fixHint: wrapper ? `This <${tag.name}> sits inside the timed <${wrapper.name}${wrapper.id ? ` id="${wrapper.id}"` : ""}> (data-start="${wrapper.start}"), and the wrapper's data-start would then clash. Move the <${tag.name}> out as a direct child of the stage and give it that wrapper's data-start="${wrapper.start}"${wrapper.duration ? ` and data-duration="${wrapper.duration}"` : ""}.` : `Add data-start="0" (or the intended start time) and data-duration if the clip should stop before the source ends.`,
|
|
6165
6178
|
snippet: truncateSnippet(tag.raw)
|
|
6166
6179
|
});
|
|
6167
6180
|
}
|
|
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
trackLintReport,
|
|
9
9
|
trackLintRuleStreak
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6Q5CFUAP.js";
|
|
11
11
|
import {
|
|
12
12
|
shouldTrack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-PMXR3IUH.js";
|
|
14
14
|
import {
|
|
15
15
|
LINT_RULE_COUNT,
|
|
16
16
|
LINT_RULE_GROUP_COUNTS
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-TSFA2Y5C.js";
|
|
18
18
|
|
|
19
19
|
// src/telemetry/lintStreaks.ts
|
|
20
20
|
import { createHash } from "crypto";
|
|
@@ -12,10 +12,10 @@ import {
|
|
|
12
12
|
} from "./chunk-DCAI5DBR.js";
|
|
13
13
|
import {
|
|
14
14
|
createProjectConfig
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-DG4ME554.js";
|
|
16
16
|
import {
|
|
17
17
|
isHyperframesProject
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-YV4WT7CJ.js";
|
|
19
19
|
|
|
20
20
|
// src/utils/desktopApp.ts
|
|
21
21
|
import { spawn, spawnSync } from "child_process";
|
|
@@ -29,6 +29,12 @@ function clampAudioGain(value) {
|
|
|
29
29
|
return 1;
|
|
30
30
|
return Math.max(0, Math.min(MAX_AUDIO_GAIN, value));
|
|
31
31
|
}
|
|
32
|
+
function gainTimesLane(gain, lane) {
|
|
33
|
+
return clampAudioGain(gain * lane);
|
|
34
|
+
}
|
|
35
|
+
function clipGain(volume, tweened) {
|
|
36
|
+
return tweened ? 1 : clampAudioGain(volume);
|
|
37
|
+
}
|
|
32
38
|
function formatAudioGain(gain) {
|
|
33
39
|
return clampAudioGain(gain).toFixed(6).replace(/\.?0+$/, "");
|
|
34
40
|
}
|
|
@@ -37,6 +43,8 @@ export {
|
|
|
37
43
|
MAX_AUDIO_GAIN_DB,
|
|
38
44
|
MAX_AUDIO_GAIN,
|
|
39
45
|
clampAudioGain,
|
|
46
|
+
gainTimesLane,
|
|
47
|
+
clipGain,
|
|
40
48
|
formatAudioGain,
|
|
41
49
|
AUDIBLE_VIDEO_QUALIFIER,
|
|
42
50
|
AUDIBLE_MEDIA_SELECTOR,
|
|
@@ -49,7 +49,11 @@ function parseReservedConcurrency(raw) {
|
|
|
49
49
|
}
|
|
50
50
|
function samDeploy(opts) {
|
|
51
51
|
assertSamAvailable();
|
|
52
|
-
const paramOverrides = [
|
|
52
|
+
const paramOverrides = [
|
|
53
|
+
`ChromeSource=${opts.chromeSource ?? "sparticuz"}`,
|
|
54
|
+
// Always sent: omitted, SAM's UsePreviousValue would keep a video function the user dropped.
|
|
55
|
+
`VideoImageUri=${opts.videoImageUri ?? '""'}`
|
|
56
|
+
];
|
|
53
57
|
if (opts.reservedConcurrency !== void 0) {
|
|
54
58
|
paramOverrides.push(`ReservedConcurrency=${opts.reservedConcurrency}`);
|
|
55
59
|
}
|
|
@@ -133,14 +137,34 @@ function fetchStackOutputs(opts) {
|
|
|
133
137
|
// for cost math + CloudWatch lookups.
|
|
134
138
|
functionName: functionName.split(":").pop() ?? functionName,
|
|
135
139
|
stateMachineArn,
|
|
136
|
-
reservedConcurrency: reserved > 0 ? reserved : void 0
|
|
140
|
+
reservedConcurrency: reserved > 0 ? reserved : void 0,
|
|
141
|
+
videoFunctionName: byKey.get("VideoFunctionArn")?.split(":").pop()
|
|
137
142
|
};
|
|
138
143
|
}
|
|
144
|
+
function deleteEcrRepository(opts) {
|
|
145
|
+
assertAwsCliAvailable();
|
|
146
|
+
const args = [
|
|
147
|
+
"ecr",
|
|
148
|
+
"delete-repository",
|
|
149
|
+
"--repository-name",
|
|
150
|
+
opts.repositoryName,
|
|
151
|
+
"--force",
|
|
152
|
+
"--region",
|
|
153
|
+
opts.region
|
|
154
|
+
];
|
|
155
|
+
if (opts.awsProfile) args.push("--profile", opts.awsProfile);
|
|
156
|
+
const result = spawnSync("aws", args, { encoding: "utf-8" });
|
|
157
|
+
if (result.status === 0 || result.stderr?.includes("RepositoryNotFoundException")) return;
|
|
158
|
+
throw new Error(
|
|
159
|
+
`[lambda] aws ecr delete-repository ${opts.repositoryName} exited with code ${result.status ?? "unknown"}: ${result.stderr ?? ""}`
|
|
160
|
+
);
|
|
161
|
+
}
|
|
139
162
|
|
|
140
163
|
export {
|
|
141
164
|
locateSamTemplate,
|
|
142
165
|
parseReservedConcurrency,
|
|
143
166
|
samDeploy,
|
|
144
167
|
samDelete,
|
|
145
|
-
fetchStackOutputs
|
|
168
|
+
fetchStackOutputs,
|
|
169
|
+
deleteEcrRepository
|
|
146
170
|
};
|
|
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
getMimeType,
|
|
9
9
|
injectMediaCodecMapIntoHtml
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6HZ7TSJJ.js";
|
|
11
11
|
import {
|
|
12
12
|
PROXY_VARIANT_CONFIG,
|
|
13
13
|
ProxyCapacityError,
|
|
@@ -18,10 +18,10 @@ import {
|
|
|
18
18
|
recordProxyRequest,
|
|
19
19
|
resolveProxy,
|
|
20
20
|
resolveProxyVariantRequest
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-LWYZN7HS.js";
|
|
22
22
|
import {
|
|
23
23
|
resolveAutoProxy
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-DG4ME554.js";
|
|
25
25
|
import {
|
|
26
26
|
decodeWellFormedEscapes
|
|
27
27
|
} from "./chunk-BSQ7XANM.js";
|