hyperframes 0.8.167 → 0.8.168
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-2FUXQRJJ.js → add-VCX3UE2B.js} +13 -13
- package/dist/{animatedGifPrep-LJ4MZ55T.js → animatedGifPrep-TWD5BNVK.js} +8 -8
- package/dist/api.js +14 -14
- package/dist/{asset-WJ4RZBOZ.js → asset-BBJ3GAL7.js} +2 -2
- package/dist/{assetCataloger-YEOLIVRC.js → assetCataloger-S47GINRQ.js} +8 -8
- package/dist/{audio-BMQGWYBM.js → audio-MEDCANA3.js} +14 -14
- package/dist/{auth-2N7I575Y.js → auth-LZYMCNTB.js} +1 -1
- package/dist/{autoUpdate-QNWSYJTZ.js → autoUpdate-AXTW2NKX.js} +2 -2
- package/dist/{backgroundChecks-7XFS3DIS.js → backgroundChecks-3YDYYI3D.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-H5NAWIHY.js → batchRender-UDE7TOKY.js} +4 -4
- package/dist/{beats-YPFOOARR.js → beats-HHXMPMGT.js} +5 -5
- package/dist/{benchmark-HPF6KC73.js → benchmark-2BY7PBAP.js} +9 -9
- package/dist/{browser-326JM225.js → browser-CXB4KTJP.js} +3 -3
- package/dist/{bundleWithLocalizedFonts-4L7VGKHX.js → bundleWithLocalizedFonts-M7CRHOS7.js} +2 -2
- package/dist/{capture-R5AUVH3R.js → capture-PRTE4Z7E.js} +2 -2
- package/dist/{capture-62S3EEMN.js → capture-WHG37ZLF.js} +12 -11
- package/dist/{catalog-GLYTZLPC.js → catalog-WRM2373Z.js} +13 -13
- package/dist/{catch-up-F7X7ITIH.js → catch-up-WHLD6E5F.js} +4 -4
- package/dist/{check-ZTQ4E5YO.js → check-R5E7WLKF.js} +98 -42
- package/dist/{checkBrowser-OGMICBTZ.js → checkBrowser-Y4CZVGIV.js} +39 -31
- package/dist/chunk-2F7S7OK2.js +20 -0
- package/dist/{chunk-Q4ZMV6RN.js → chunk-2GSGFDEP.js} +1 -1
- package/dist/{chunk-YKMJPYNJ.js → chunk-4CIMRQQY.js} +11 -5
- package/dist/{chunk-MZSP2FH7.js → chunk-4LXK7TOM.js} +7 -7
- package/dist/{chunk-HAQ4PMF6.js → chunk-4PHDDZVL.js} +37 -15
- package/dist/{chunk-6RSBA4XV.js → chunk-4WPRJ7ID.js} +1 -1
- package/dist/{chunk-PYKY63GT.js → chunk-54MI3SGP.js} +3 -3
- package/dist/{chunk-4PCIW2XN.js → chunk-5VGEWXJL.js} +2 -2
- package/dist/{chunk-P7H2MOWB.js → chunk-AQZZZTFL.js} +2 -2
- package/dist/{chunk-LJ7BKHGT.js → chunk-ATCB4PMO.js} +1 -1
- package/dist/{chunk-35GLXVUG.js → chunk-ATOXD5VV.js} +1 -1
- package/dist/{chunk-LF6E6N2U.js → chunk-BC2XZL6O.js} +2 -2
- package/dist/{chunk-CXUV24HM.js → chunk-BOT7PGM5.js} +2 -2
- package/dist/{chunk-YQ5NJCC4.js → chunk-BTCUP5ZY.js} +2 -2
- package/dist/{chunk-QQCZVVUZ.js → chunk-BV2NH7ZA.js} +1 -1
- package/dist/{chunk-DWMCUUAQ.js → chunk-BWFUUGIZ.js} +1 -1
- package/dist/{chunk-J4OSFRO6.js → chunk-C3WPYYGK.js} +1 -1
- package/dist/{chunk-4U5FN6FY.js → chunk-CAHSX6IW.js} +24 -16
- package/dist/{chunk-AURMZPQ4.js → chunk-CDDIEZ4D.js} +13 -11
- package/dist/{chunk-BNH73WSR.js → chunk-DO3UPPO4.js} +2 -2
- package/dist/{chunk-55IKX25I.js → chunk-E7CIMKJS.js} +1 -1
- package/dist/{chunk-CBNI34SD.js → chunk-EEP5Y5IE.js} +1 -1
- package/dist/{chunk-KIWXOYBU.js → chunk-EKEK3GOB.js} +3 -3
- package/dist/{chunk-JK2AETXO.js → chunk-EW2QBTYO.js} +6 -6
- package/dist/{chunk-G7HJCDEI.js → chunk-EXMTTXKQ.js} +2 -2
- package/dist/{chunk-2INCSLFS.js → chunk-FA3TWKZO.js} +2 -2
- package/dist/{chunk-7DJLJH2Y.js → chunk-HL6GWREP.js} +1 -1
- package/dist/{chunk-EMHFQAFH.js → chunk-ID7B7NGN.js} +1 -1
- package/dist/{chunk-AATVO56S.js → chunk-KDC5D5VM.js} +14 -10
- package/dist/{chunk-IDVQ5AH7.js → chunk-LGCHE2F4.js} +1 -1
- package/dist/{chunk-Q2RNXOAQ.js → chunk-LUSWL6OJ.js} +2 -2
- package/dist/{chunk-J53OCC2V.js → chunk-LZGRJDNJ.js} +1 -1
- package/dist/{chunk-OZJ4L6SJ.js → chunk-M4N6IHCQ.js} +1 -1
- package/dist/{chunk-EN4ZEUT3.js → chunk-MD4S2RXW.js} +10 -9
- package/dist/{chunk-ZWZFBVMS.js → chunk-MOJKJ4K4.js} +4 -4
- package/dist/{chunk-OI3K7RJZ.js → chunk-N7QCMEQG.js} +2843 -2673
- package/dist/{chunk-N6HMVHOI.js → chunk-NT3WPYAU.js} +3 -3
- package/dist/{chunk-5GMAX6HC.js → chunk-NYIKKCMC.js} +1 -1
- package/dist/{chunk-5HKZOQEV.js → chunk-O7BABHM4.js} +1 -1
- package/dist/{chunk-BGPZWFYO.js → chunk-OQGORCT3.js} +2 -2
- package/dist/{chunk-3VGU2SH7.js → chunk-OYLO6TYK.js} +8 -1
- package/dist/{chunk-W3B37KCA.js → chunk-PLWORQFC.js} +36 -33
- package/dist/{chunk-VZG6DZ5O.js → chunk-PYSGYMM4.js} +3 -3
- package/dist/chunk-QE7XLLGT.js +3803 -0
- package/dist/{chunk-2TD4V5YU.js → chunk-QKJ4KGNR.js} +1 -1
- package/dist/{chunk-FJ6SHMJW.js → chunk-RG66EU4L.js} +10 -10
- package/dist/{chunk-Q2WGWWJ5.js → chunk-SYKPCN32.js} +8 -2
- package/dist/{chunk-FETB6SFI.js → chunk-TW7H5CJO.js} +2 -2
- package/dist/{chunk-QCRKQ6BY.js → chunk-UWQL2MP4.js} +7 -1
- package/dist/{chunk-5XNGYXPW.js → chunk-VTBME36F.js} +1 -1
- package/dist/{chunk-NA7LBT7C.js → chunk-XOODFU75.js} +1 -1
- package/dist/{chunk-WPNE5NEP.js → chunk-XR3XDG7V.js} +19 -5
- package/dist/{chunk-ALLKNYC3.js → chunk-YMS5FOMC.js} +31 -18
- package/dist/{chunk-Y5HGSWD6.js → chunk-YTZA25TZ.js} +1 -1
- package/dist/{chunk-C6XFNWHU.js → chunk-YULVV525.js} +1 -1
- package/dist/{clean-TZVC4SUY.js → clean-UPXYD6VX.js} +14 -14
- package/dist/cli.js +53 -53
- package/dist/{cloud-G4Z54NRA.js → cloud-74GU7KDD.js} +4 -4
- package/dist/{cloudrun-ZKWTTLXC.js → cloudrun-KHMVQL7C.js} +16 -11
- package/dist/commands/layout-audit.browser.js +16 -1
- package/dist/{compare-HING5JY7.js → compare-BG77ZXYF.js} +27 -26
- package/dist/{compiler-E37DHG6R.js → compiler-OSQ4L7FP.js} +5 -5
- package/dist/{component-3Y6DSDDQ.js → component-34PVECJG.js} +3 -3
- package/dist/{compositions-7PCJJOSO.js → compositions-KCVIKKSR.js} +12 -12
- package/dist/{delete-C5SIXVQK.js → delete-NU2ENZYQ.js} +2 -2
- package/dist/{deploy-5G4Z6LPA.js → deploy-4MK3Y67M.js} +1 -0
- package/dist/{deterministicFonts-35AC2PM5.js → deterministicFonts-KXVO7QEL.js} +2 -2
- package/dist/{dist-KGU4NOEC.js → dist-3VKMLNXT.js} +7 -3
- package/dist/{dist-4PRLFYDO.js → dist-OTCFZEKF.js} +2 -2
- package/dist/{doctor-6LFPX5YC.js → doctor-GVELHIHI.js} +10 -10
- package/dist/{events-27DBZEP2.js → events-E6CVR42M.js} +2 -2
- package/dist/{events-YS3ENMS3.js → events-UP3IQXPM.js} +3 -3
- package/dist/{feedback-62AUX5Q6.js → feedback-IRYQ4YKX.js} +7 -7
- package/dist/{figma-5CYPKHNK.js → figma-BLQBHAPG.js} +3 -3
- package/dist/fontLocalizeCli.js +11 -11
- package/dist/{get-HC5BWFCU.js → get-HESG62RX.js} +2 -2
- package/dist/{gpuPolicy-VGSKTQFS.js → gpuPolicy-CHXUX2ZT.js} +8 -8
- package/dist/{grade-compare-DASDOOLU.js → grade-compare-ZDJMJUYY.js} +27 -26
- package/dist/{help-7MQDFXVN.js → help-2BQBFF4Z.js} +1 -1
- package/dist/{history-JV2YA7L3.js → history-4IZQ6NRV.js} +6 -6
- package/dist/hyperframe-runtime.js +64 -62
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +64 -62
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-63STYEXL.js → info-JNGAI3JU.js} +8 -8
- package/dist/{init-KBDCFLPO.js → init-ZQO6G5C7.js} +23 -23
- package/dist/{inspect-NZ7UNTDK.js → inspect-DWMKJEVE.js} +28 -27
- package/dist/{installer-T4SRTKAU.js → installer-UKZT4SKK.js} +6 -6
- package/dist/{keyframes-3UIA2BOO.js → keyframes-FC273E5N.js} +6 -6
- package/dist/{lambda-X6XMGMTI.js → lambda-GSZCV77P.js} +31 -18
- package/dist/{layout-V2M6NI2A.js → layout-ASSCBJCO.js} +28 -27
- package/dist/{lint-26QGRXLI.js → lint-PSCEVVNL.js} +8 -8
- package/dist/{lintProject-HV3FBMTU.js → lintProject-PXB5Y6TX.js} +2 -2
- package/dist/{list-RVNMXLPY.js → list-KO4N2VJL.js} +2 -2
- package/dist/{login-M2YCAF3T.js → login-ZJEBRFV5.js} +4 -4
- package/dist/{media-treatment-6BYVQUWN.js → media-treatment-HGHLLZR3.js} +11 -11
- package/dist/{models-4UWTBP2J.js → models-NTAVDCAV.js} +11 -11
- package/dist/{motionShot-UZV3LG77.js → motionShot-SJENYTRO.js} +16 -15
- package/dist/{normalize-audio-UR6UPRSM.js → normalize-audio-PQIC7IPK.js} +4 -4
- package/dist/{open-K4N4KEFK.js → open-EI7UEAZZ.js} +4 -4
- package/dist/{parakeetRunner-TH572YPQ.js → parakeetRunner-7SDEI3IZ.js} +11 -11
- package/dist/{pipeline-4OUHSCE5.js → pipeline-EXHHCUE7.js} +8 -8
- package/dist/{play-GSGWTHJT.js → play-Y4EMM2OJ.js} +19 -19
- package/dist/{present-GWODJH4A.js → present-LFMGQGX6.js} +15 -15
- package/dist/{preview-UUP7CTJM.js → preview-EYQG7L6X.js} +18 -18
- package/dist/{producer-F3LUI2LX.js → producer-FKOEAHJW.js} +1 -1
- package/dist/{projectConfig-LBESGIM6.js → projectConfig-SXW3QMZE.js} +8 -8
- package/dist/{publication-IGLVPFKB.js → publication-ZC4LDEXQ.js} +3 -3
- package/dist/{publish-GVDRYMZG.js → publish-4ZCLHA5W.js} +10 -10
- package/dist/{remove-background-3UDPJWO3.js → remove-background-IGDRS2QV.js} +9 -9
- package/dist/{render-QRPLO4OB.js → render-QJCBJQOM.js} +33 -25
- package/dist/{render-C2MSWN5Q.js → render-TA3DG3LZ.js} +9 -9
- package/dist/{render-5VSZHPI5.js → render-ZN777RDD.js} +11 -6
- package/dist/{render-batch-YHCKNGLG.js → render-batch-2JQNFAL4.js} +10 -6
- package/dist/renderSetupWorker.js +2 -2
- package/dist/{resolver-K7Q63AW3.js → resolver-JZF5G6YC.js} +5 -5
- package/dist/{sherpa-OEIK4HXX.js → sherpa-MDVSUF6Y.js} +10 -10
- package/dist/skills/hyperframes/references/skill-lifecycle.md +2 -0
- package/dist/{skills-ISZSXESC.js → skills-JVNMX37H.js} +30 -5
- package/dist/{skillsUpdateCheck-2B3CBX4A.js → skillsUpdateCheck-KNTQFGOI.js} +3 -3
- package/dist/{snapshot-J3JKFCYO.js → snapshot-RDQTFIPX.js} +30 -29
- package/dist/{src-MWQCXKWJ.js → src-5XO7KBBL.js} +7 -7
- package/dist/{src-ICUQBWEX.js → src-ZPEZRIUC.js} +10 -10
- package/dist/{staticProjectServer-2HPLMJLH.js → staticProjectServer-RLERPIY6.js} +15 -15
- package/dist/studio/assets/{hyperframes-player-CJibUtA8.js → hyperframes-player-mYPt9XVX.js} +1 -1
- package/dist/studio/assets/{index-BS3d2Qdc.js → index-B-v5xQjD.js} +4 -4
- package/dist/studio/assets/{index-CDE2YLhz.js → index-DtHmIKM0.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-AHUWLJBD.js → studio-api-4INCUOCU.js} +9 -9
- package/dist/{studioServer-IBAIGIJD.js → studioServer-DMDE7IZU.js} +41 -40
- package/dist/{telemetry-BSURLTGR.js → telemetry-4Y5DYI6H.js} +3 -3
- package/dist/{timeline-YTVVCN6P.js → timeline-XJRKELVE.js} +34 -21
- package/dist/{tokens-EIXAERED.js → tokens-G4VKTABI.js} +2 -2
- package/dist/{transcribe-2CYSICME.js → transcribe-JRSQRPVH.js} +9 -9
- package/dist/{transcribe-TE7EPNEM.js → transcribe-Y46B2ZVD.js} +15 -15
- package/dist/{updateCheck-BI3OKPO4.js → updateCheck-NGYDWGQL.js} +2 -2
- package/dist/{upgrade-JU4JXYBU.js → upgrade-M2LQP5S7.js} +2 -2
- package/dist/{urlDownloader-IVYOAE6Q.js → urlDownloader-UFDUP3VF.js} +7 -7
- package/dist/{validate-I4PVO46Y.js → validate-B3AUFCC5.js} +22 -21
- package/dist/{video-WXQT3G5A.js → video-WLCNVSVU.js} +8 -8
- package/package.json +1 -1
- package/dist/chunk-DJ6L4NZU.js +0 -3795
|
@@ -32,21 +32,21 @@ import {
|
|
|
32
32
|
import {
|
|
33
33
|
getUpdateMeta,
|
|
34
34
|
withMeta
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-O7BABHM4.js";
|
|
36
36
|
import {
|
|
37
37
|
CONFIG_PATH,
|
|
38
38
|
withFileLock
|
|
39
39
|
} from "./chunk-XUXGIA7H.js";
|
|
40
40
|
import {
|
|
41
41
|
VERSION
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-BC2XZL6O.js";
|
|
43
43
|
import {
|
|
44
44
|
OPTIONAL_PACKAGES,
|
|
45
45
|
installedOptionalPackageVersion
|
|
46
46
|
} from "./chunk-3DKN5WKL.js";
|
|
47
47
|
import {
|
|
48
48
|
resolveExtractCacheDir
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-CAHSX6IW.js";
|
|
50
50
|
import {
|
|
51
51
|
normalizeErrorMessage
|
|
52
52
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
typeDirPath,
|
|
21
21
|
updateRecord,
|
|
22
22
|
withFigmaErrors
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-HL6GWREP.js";
|
|
24
24
|
import {
|
|
25
25
|
defineCommand
|
|
26
26
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -229,7 +229,7 @@ var asset_default = defineCommand({
|
|
|
229
229
|
rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
|
|
230
230
|
);
|
|
231
231
|
}
|
|
232
|
-
const { trackFigmaImport } = await import("./telemetry-
|
|
232
|
+
const { trackFigmaImport } = await import("./telemetry-4Y5DYI6H.js");
|
|
233
233
|
trackFigmaImport({
|
|
234
234
|
phase: "asset",
|
|
235
235
|
reused: results.every((r) => r.reused),
|
|
@@ -16,7 +16,14 @@ var CANVAS_DIMENSIONS = {
|
|
|
16
16
|
"landscape-4k": { width: 3840, height: 2160 },
|
|
17
17
|
"portrait-4k": { width: 2160, height: 3840 },
|
|
18
18
|
square: { width: 1080, height: 1080 },
|
|
19
|
-
"square-4k": { width: 2160, height: 2160 }
|
|
19
|
+
"square-4k": { width: 2160, height: 2160 },
|
|
20
|
+
"landscape-720p": { width: 1280, height: 720 },
|
|
21
|
+
"portrait-720p": { width: 720, height: 1280 },
|
|
22
|
+
"square-720p": { width: 720, height: 720 },
|
|
23
|
+
// 480 tall at 16:9 is 853.33 wide: 854 keeps both sides even for 4:2:0 encoders.
|
|
24
|
+
"landscape-480p": { width: 854, height: 480 },
|
|
25
|
+
"portrait-480p": { width: 480, height: 854 },
|
|
26
|
+
"square-480p": { width: 480, height: 480 }
|
|
20
27
|
};
|
|
21
28
|
var VALID_CANVAS_RESOLUTIONS = Object.keys(
|
|
22
29
|
CANVAS_DIMENSIONS
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
extractMediaSrcMutations,
|
|
26
26
|
isSafeMediaUrl,
|
|
27
27
|
resolveAliasDisplayName
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-OYLO6TYK.js";
|
|
29
29
|
import {
|
|
30
30
|
findFfBinary
|
|
31
31
|
} from "./chunk-VAS6HQX3.js";
|
|
@@ -7123,37 +7123,6 @@ var compositionRules = [
|
|
|
7123
7123
|
// defaults aren't applied.
|
|
7124
7124
|
// Checked on every element that declares: <html>, or the composition root.
|
|
7125
7125
|
({ tags }) => tags.filter((tag) => readJsonAttr(tag.raw, "data-composition-variables")).flatMap((tag) => variablesDeclarationFindings(tag, tags)),
|
|
7126
|
-
// html_dir_attribute_breaks_render — valid non-LTR dir values on
|
|
7127
|
-
// <html> renders correctly in preview/snapshot but produces a fully
|
|
7128
|
-
// blank/black video from render, with no other lint/validate/inspect
|
|
7129
|
-
// check catching it (output file size, far smaller than expected, is the
|
|
7130
|
-
// only tell). Confirmed independently by two separate reports, both
|
|
7131
|
-
// diagnosing the same exact trigger and the same fix: drop dir from
|
|
7132
|
-
// <html>, keep lang, and scope `direction: rtl` to individual
|
|
7133
|
-
// text-containing elements via CSS instead (text still bidi-shapes
|
|
7134
|
-
// correctly). Advisory-only — this does not attempt to fix the render
|
|
7135
|
-
// pipeline's own root cause (suspected to be a capture step that clips a
|
|
7136
|
-
// fixed top-left-origin screenshot region, which RTL layout can shift the
|
|
7137
|
-
// actual content away from), only surfaces the already-confirmed footgun
|
|
7138
|
-
// before someone hits it blind.
|
|
7139
|
-
({ tags }) => {
|
|
7140
|
-
const htmlTag = findHtmlTag(tags);
|
|
7141
|
-
if (!htmlTag) return [];
|
|
7142
|
-
const dir = readAttr(htmlTag.raw, "dir");
|
|
7143
|
-
if (!dir) return [];
|
|
7144
|
-
const normalizedDir = dir.toLowerCase();
|
|
7145
|
-
if (normalizedDir !== "rtl" && normalizedDir !== "auto") return [];
|
|
7146
|
-
const scopedDirection = normalizedDir === "auto" ? 'dir="auto"' : `direction: ${normalizedDir}`;
|
|
7147
|
-
return [
|
|
7148
|
-
{
|
|
7149
|
-
code: "html_dir_attribute_breaks_render",
|
|
7150
|
-
severity: "error",
|
|
7151
|
-
message: `<html dir="${dir}"> renders correctly in preview/snapshot but produces a fully blank/black video from render. This is a confirmed, silent failure.`,
|
|
7152
|
-
fixHint: `Remove dir="${dir}" from <html>. Keep lang, and scope ${scopedDirection} to individual text-containing elements instead. Text still shapes correctly via the browser's own bidi algorithm.`,
|
|
7153
|
-
snippet: truncateSnippet(htmlTag.raw)
|
|
7154
|
-
}
|
|
7155
|
-
];
|
|
7156
|
-
},
|
|
7157
7126
|
// subcomposition_blanks_before_host
|
|
7158
7127
|
// Warns when a full-bleed sub-composition slot ends before the host composition
|
|
7159
7128
|
// does, leaving the slot blank for the remainder (issue #1540). Scoped narrowly to
|
|
@@ -9949,7 +9918,8 @@ var NODE_ATTRS = [
|
|
|
9949
9918
|
"data-track-index",
|
|
9950
9919
|
"data-track-kind",
|
|
9951
9920
|
"data-composition-id",
|
|
9952
|
-
"data-composition-src"
|
|
9921
|
+
"data-composition-src",
|
|
9922
|
+
"data-hf-media-start-basis"
|
|
9953
9923
|
];
|
|
9954
9924
|
function toNode(open) {
|
|
9955
9925
|
const attrs = {};
|
|
@@ -10057,6 +10027,33 @@ function clipsPastRootFindings(root, rows) {
|
|
|
10057
10027
|
];
|
|
10058
10028
|
});
|
|
10059
10029
|
}
|
|
10030
|
+
function followsParentVisibility(clip) {
|
|
10031
|
+
return clip.tag !== "audio" && clip.attrs["data-hf-media-start-basis"] !== "global";
|
|
10032
|
+
}
|
|
10033
|
+
function isTimed(timing) {
|
|
10034
|
+
return timing.start !== null && timing.end !== null;
|
|
10035
|
+
}
|
|
10036
|
+
function neverVisibleNestedFindings(parent, severity) {
|
|
10037
|
+
const window = readClipTiming({ getAttribute: (name) => parent.attrs[name] ?? null });
|
|
10038
|
+
return topLevelElements(parent).flatMap((clip) => {
|
|
10039
|
+
const inner = isSubCompositionHost(clip) ? [] : neverVisibleNestedFindings(clip, severity);
|
|
10040
|
+
const own = readClipTiming({ getAttribute: (name) => clip.attrs[name] ?? null });
|
|
10041
|
+
if (!followsParentVisibility(clip) || !isTimed(window) || !isTimed(own)) return inner;
|
|
10042
|
+
if (own.end > window.start && own.start < window.end) return inner;
|
|
10043
|
+
const shows = `${hundredths(window.start)}s to ${hundredths(window.end)}s`;
|
|
10044
|
+
return [
|
|
10045
|
+
{
|
|
10046
|
+
code: "nested_clip_never_visible",
|
|
10047
|
+
severity,
|
|
10048
|
+
message: `${describe(clip)} plays from ${hundredths(own.start)}s to ${hundredths(own.end)}s, but it sits inside ${describe(parent)}, which only shows from ${shows}, so it never appears. A nested data-start counts from the composition's start, not from ${describe(parent)}.`,
|
|
10049
|
+
elementId: clip.attrs.id,
|
|
10050
|
+
fixHint: `Give ${describe(clip)} a data-start between ${shows} in composition time, or move it out of ${describe(parent)}.`,
|
|
10051
|
+
snippet: truncateSnippet(clip.open.raw)
|
|
10052
|
+
},
|
|
10053
|
+
...inner
|
|
10054
|
+
];
|
|
10055
|
+
});
|
|
10056
|
+
}
|
|
10060
10057
|
var structureRules = [
|
|
10061
10058
|
(ctx) => {
|
|
10062
10059
|
if (ctx.options.isSubComposition) return [];
|
|
@@ -10070,6 +10067,12 @@ var structureRules = [
|
|
|
10070
10067
|
...captionFindings(rows, severity),
|
|
10071
10068
|
...clipsPastRootFindings(root, rows)
|
|
10072
10069
|
];
|
|
10070
|
+
},
|
|
10071
|
+
(ctx) => {
|
|
10072
|
+
const root = buildTree(ctx);
|
|
10073
|
+
if (!root) return [];
|
|
10074
|
+
const severity = ctx.options.host === "studio" ? "error" : "warning";
|
|
10075
|
+
return topLevelElements(root).filter((row) => !isSubCompositionHost(row)).flatMap((row) => neverVisibleNestedFindings(row, severity));
|
|
10073
10076
|
}
|
|
10074
10077
|
];
|
|
10075
10078
|
function withoutComments(source) {
|
|
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
trackLintReport,
|
|
9
9
|
trackLintRuleStreak
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YTZA25TZ.js";
|
|
11
11
|
import {
|
|
12
12
|
shouldTrack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-YULVV525.js";
|
|
14
14
|
import {
|
|
15
15
|
LINT_RULE_COUNT,
|
|
16
16
|
LINT_RULE_GROUP_COUNTS
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-PLWORQFC.js";
|
|
18
18
|
|
|
19
19
|
// src/telemetry/lintStreaks.ts
|
|
20
20
|
import { createHash } from "crypto";
|