hyperframes 0.8.166 → 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-MCSKPN2J.js → add-VCX3UE2B.js} +13 -13
- package/dist/{animatedGifPrep-3HO4C3YA.js → animatedGifPrep-TWD5BNVK.js} +8 -8
- package/dist/api.js +14 -14
- package/dist/{asset-XVO3H37J.js → asset-BBJ3GAL7.js} +2 -2
- package/dist/{assetCataloger-RHSKUXJV.js → assetCataloger-S47GINRQ.js} +8 -8
- package/dist/{audio-G4CPBGIP.js → audio-MEDCANA3.js} +15 -15
- package/dist/{auth-GRFFMOB5.js → auth-LZYMCNTB.js} +1 -1
- package/dist/{autoUpdate-CHDEIEGO.js → autoUpdate-AXTW2NKX.js} +2 -2
- package/dist/{backgroundChecks-VAZLRTGT.js → backgroundChecks-3YDYYI3D.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-ILOPDVDM.js → batchRender-UDE7TOKY.js} +4 -4
- package/dist/{beats-B3BZKIWQ.js → beats-HHXMPMGT.js} +5 -5
- package/dist/{benchmark-OAPEWN3B.js → benchmark-2BY7PBAP.js} +9 -9
- package/dist/{browser-IG6NUNE2.js → browser-CXB4KTJP.js} +3 -3
- package/dist/{bundleWithLocalizedFonts-ZUM7SYTY.js → bundleWithLocalizedFonts-M7CRHOS7.js} +2 -2
- package/dist/{capture-4A3RN6PP.js → capture-PRTE4Z7E.js} +3 -3
- package/dist/{capture-XXKHHDGW.js → capture-WHG37ZLF.js} +19 -53
- package/dist/{captureTimeout-PA4FYWT5.js → captureTimeout-K2JNVVCI.js} +1 -1
- package/dist/{catalog-OT6XSKQS.js → catalog-WRM2373Z.js} +13 -13
- package/dist/{catch-up-JEU6V6DR.js → catch-up-WHLD6E5F.js} +4 -4
- package/dist/{check-6FSM25VP.js → check-R5E7WLKF.js} +112 -56
- package/dist/{checkBrowser-MECIATAM.js → checkBrowser-Y4CZVGIV.js} +42 -33
- package/dist/chunk-2F7S7OK2.js +20 -0
- package/dist/{chunk-APTXSODN.js → chunk-2GSGFDEP.js} +5 -5
- package/dist/{chunk-OBZWOV4Q.js → chunk-4CIMRQQY.js} +11 -5
- package/dist/{chunk-EUCDNWPK.js → chunk-4LXK7TOM.js} +7 -7
- package/dist/{chunk-FALELQTO.js → chunk-4PHDDZVL.js} +37 -15
- package/dist/{chunk-F67VJSSH.js → chunk-4WPRJ7ID.js} +1 -1
- package/dist/{chunk-CQFNLIGE.js → chunk-54MI3SGP.js} +3 -3
- package/dist/{chunk-WC6QG6WU.js → chunk-5VGEWXJL.js} +2 -2
- package/dist/{chunk-SZDHUSQ5.js → chunk-AQZZZTFL.js} +2 -2
- package/dist/{chunk-7PYUADWL.js → chunk-ATCB4PMO.js} +1 -1
- package/dist/{chunk-KX4VIWIV.js → chunk-ATOXD5VV.js} +1 -1
- package/dist/{chunk-HTDDV7CM.js → chunk-BC2XZL6O.js} +2 -2
- package/dist/{chunk-TPLNKI23.js → chunk-BOT7PGM5.js} +2 -2
- package/dist/{chunk-GDJGBAV6.js → chunk-BTCUP5ZY.js} +2 -2
- package/dist/{chunk-HLCB2VAN.js → chunk-BV2NH7ZA.js} +1 -1
- package/dist/{chunk-BTXLF6DV.js → chunk-BWFUUGIZ.js} +1 -1
- package/dist/{chunk-ZUQ2K4YF.js → chunk-C3WPYYGK.js} +1 -1
- package/dist/{chunk-BSXI5VWK.js → chunk-CAHSX6IW.js} +26 -21
- package/dist/{chunk-UKTXHF3Q.js → chunk-CDDIEZ4D.js} +13 -11
- package/dist/{chunk-AL7XYJTK.js → chunk-DO3UPPO4.js} +2 -2
- package/dist/{chunk-6U47Q57N.js → chunk-E7CIMKJS.js} +1 -1
- package/dist/{chunk-CBNI34SD.js → chunk-EEP5Y5IE.js} +1 -1
- package/dist/{chunk-CABYCNUK.js → chunk-EKEK3GOB.js} +3 -3
- package/dist/{chunk-L7PJO2A4.js → chunk-EW2QBTYO.js} +23 -17
- package/dist/{chunk-WP4QEC2Q.js → chunk-EXMTTXKQ.js} +2 -2
- package/dist/{chunk-DOONKIF5.js → chunk-FA3TWKZO.js} +2 -2
- package/dist/{chunk-I3B4A3LF.js → chunk-HL6GWREP.js} +1 -1
- package/dist/{chunk-BTTGDEGI.js → chunk-ID7B7NGN.js} +1 -1
- package/dist/{chunk-KPPC3C4I.js → chunk-KDC5D5VM.js} +25 -21
- package/dist/{chunk-ATF6UESJ.js → chunk-LGCHE2F4.js} +1 -1
- package/dist/{chunk-DDEFEMA3.js → chunk-LUSWL6OJ.js} +2 -2
- package/dist/{chunk-PORNXOQP.js → chunk-LZGRJDNJ.js} +1 -1
- package/dist/{chunk-3QATT3QF.js → chunk-M4N6IHCQ.js} +4 -4
- package/dist/{chunk-ULJB5UY4.js → chunk-MD4S2RXW.js} +13 -17
- package/dist/{chunk-2WYDNKVV.js → chunk-MOJKJ4K4.js} +4 -4
- package/dist/{chunk-4UNBVCLJ.js → chunk-N7QCMEQG.js} +2844 -2674
- package/dist/{chunk-BIOWX4AM.js → chunk-NT3WPYAU.js} +3 -3
- package/dist/{chunk-QNZQTITL.js → chunk-NYIKKCMC.js} +1 -1
- package/dist/{chunk-ZIL7S3L6.js → chunk-O7BABHM4.js} +1 -1
- package/dist/{chunk-THA3FI4Z.js → chunk-OQGORCT3.js} +2 -2
- package/dist/{chunk-3VGU2SH7.js → chunk-OYLO6TYK.js} +8 -1
- package/dist/{chunk-2742O5DO.js → chunk-PLWORQFC.js} +38 -34
- package/dist/{chunk-ZH3TWH4D.js → chunk-PYSGYMM4.js} +3 -3
- package/dist/chunk-QE7XLLGT.js +3803 -0
- package/dist/{chunk-AKBFKGJM.js → chunk-QKJ4KGNR.js} +1 -1
- package/dist/{chunk-W3SLIE72.js → chunk-RG66EU4L.js} +10 -10
- package/dist/{chunk-AWNBM3MZ.js → chunk-RGHQID2E.js} +3 -3
- package/dist/{chunk-MMSCLNCJ.js → chunk-SYKPCN32.js} +8 -2
- package/dist/{chunk-TIZRYBKL.js → chunk-TW7H5CJO.js} +2 -2
- package/dist/{chunk-FLTPIUGU.js → chunk-UWQL2MP4.js} +100 -2
- package/dist/{chunk-TAANFVLO.js → chunk-VTBME36F.js} +1 -1
- package/dist/{chunk-25CSBTM2.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-V652CBKA.js → chunk-YTZA25TZ.js} +1 -1
- package/dist/{chunk-B4VG7PGX.js → chunk-YULVV525.js} +1 -1
- package/dist/{clean-QWXJ5QJQ.js → clean-UPXYD6VX.js} +15 -15
- package/dist/cli.js +53 -53
- package/dist/{cloud-UCQ33ODM.js → cloud-74GU7KDD.js} +4 -4
- package/dist/{cloudrun-2NQXQI4T.js → cloudrun-KHMVQL7C.js} +16 -11
- package/dist/commands/layout-audit.browser.js +16 -1
- package/dist/{compare-ZGW25GT6.js → compare-BG77ZXYF.js} +29 -27
- package/dist/{compiler-VQ7QYOSB.js → compiler-OSQ4L7FP.js} +5 -5
- package/dist/{component-W2QGYUEG.js → component-34PVECJG.js} +3 -3
- package/dist/{compositions-DOIAPDMU.js → compositions-KCVIKKSR.js} +12 -12
- package/dist/{delete-PCSBLAVX.js → delete-NU2ENZYQ.js} +2 -2
- package/dist/{deploy-5G4Z6LPA.js → deploy-4MK3Y67M.js} +1 -0
- package/dist/{deterministicFonts-LNNVHVS2.js → deterministicFonts-KXVO7QEL.js} +3 -3
- package/dist/{dist-6TKXILZL.js → dist-3VKMLNXT.js} +7 -3
- package/dist/{dist-ROVMAL74.js → dist-OTCFZEKF.js} +2 -2
- package/dist/{doctor-2FMEUV4B.js → doctor-GVELHIHI.js} +10 -10
- package/dist/{events-V2KF4OKH.js → events-E6CVR42M.js} +2 -2
- package/dist/{events-QPODC7BK.js → events-UP3IQXPM.js} +3 -3
- package/dist/{feedback-NC2YHCYF.js → feedback-IRYQ4YKX.js} +7 -7
- package/dist/{figma-RP23MXHX.js → figma-BLQBHAPG.js} +3 -3
- package/dist/fontLocalizeCli.js +14 -14
- package/dist/{get-FIWRIPCT.js → get-HESG62RX.js} +2 -2
- package/dist/{gpuPolicy-4YD2BS3P.js → gpuPolicy-CHXUX2ZT.js} +8 -8
- package/dist/{grade-compare-HVLIDLEO.js → grade-compare-ZDJMJUYY.js} +29 -27
- package/dist/{help-EDA6FXKG.js → help-2BQBFF4Z.js} +1 -1
- package/dist/{history-7Z763GGS.js → history-4IZQ6NRV.js} +9 -9
- package/dist/hyperframe-runtime.js +72 -70
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +72 -70
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-OHDJXJKQ.js → info-JNGAI3JU.js} +8 -8
- package/dist/{init-BKYY2CXY.js → init-ZQO6G5C7.js} +23 -23
- package/dist/{inspect-CX3AFG2K.js → inspect-DWMKJEVE.js} +30 -28
- package/dist/{installer-5YWMYX5C.js → installer-UKZT4SKK.js} +6 -6
- package/dist/{keyframes-LBK4Y2T2.js → keyframes-FC273E5N.js} +6 -6
- package/dist/{lambda-HIC2Z3GQ.js → lambda-GSZCV77P.js} +31 -18
- package/dist/{layout-NSIMPYKJ.js → layout-ASSCBJCO.js} +30 -28
- package/dist/{lint-YH6HNXVM.js → lint-PSCEVVNL.js} +8 -8
- package/dist/{lintProject-BGDYHF3F.js → lintProject-PXB5Y6TX.js} +2 -2
- package/dist/{list-KZXJYWKZ.js → list-KO4N2VJL.js} +2 -2
- package/dist/{login-CBNG6TFS.js → login-ZJEBRFV5.js} +4 -4
- package/dist/{media-treatment-TZTGSXQW.js → media-treatment-HGHLLZR3.js} +11 -11
- package/dist/{models-6PJD6KNN.js → models-NTAVDCAV.js} +11 -11
- package/dist/{motionShot-ATCNOMLE.js → motionShot-SJENYTRO.js} +19 -17
- package/dist/{normalize-audio-JYRAP3I5.js → normalize-audio-PQIC7IPK.js} +4 -4
- package/dist/{open-2IWIMS7X.js → open-EI7UEAZZ.js} +4 -4
- package/dist/{parakeetRunner-4RECECZC.js → parakeetRunner-7SDEI3IZ.js} +11 -11
- package/dist/{pipeline-W5ON6TOA.js → pipeline-EXHHCUE7.js} +8 -8
- package/dist/{play-UWEP74BP.js → play-Y4EMM2OJ.js} +19 -19
- package/dist/{present-LBW3UKGD.js → present-LFMGQGX6.js} +15 -15
- package/dist/{preview-ZJVWEZDQ.js → preview-EYQG7L6X.js} +18 -18
- package/dist/{producer-STNCPEUU.js → producer-FKOEAHJW.js} +1 -1
- package/dist/{projectConfig-QIZWOCOO.js → projectConfig-SXW3QMZE.js} +8 -8
- package/dist/{publication-YNDABZNC.js → publication-ZC4LDEXQ.js} +3 -3
- package/dist/{publish-4UNNKLPE.js → publish-4ZCLHA5W.js} +10 -10
- package/dist/{remove-background-77IFDTYA.js → remove-background-IGDRS2QV.js} +9 -9
- package/dist/{render-5LL5JCRH.js → render-QJCBJQOM.js} +38 -30
- package/dist/{render-VFPSVKGX.js → render-TA3DG3LZ.js} +9 -9
- package/dist/{render-NUZPUBQO.js → render-ZN777RDD.js} +11 -6
- package/dist/{render-batch-QU7ZWEJZ.js → render-batch-2JQNFAL4.js} +10 -6
- package/dist/renderSetupWorker.js +2 -2
- package/dist/{resolver-SPF7J6MA.js → resolver-JZF5G6YC.js} +5 -5
- package/dist/{screenshotCapture-3JXXUZND.js → screenshotCapture-XAYELJK7.js} +1 -1
- package/dist/{sherpa-XPHQUCHY.js → sherpa-MDVSUF6Y.js} +10 -10
- package/dist/skills/hyperframes/references/skill-lifecycle.md +2 -0
- package/dist/{skills-FVEEVJS7.js → skills-JVNMX37H.js} +30 -5
- package/dist/{skillsUpdateCheck-C64VYL4I.js → skillsUpdateCheck-KNTQFGOI.js} +3 -3
- package/dist/{snapshot-IMGLO7XP.js → snapshot-RDQTFIPX.js} +35 -33
- package/dist/{src-DG7XW5WW.js → src-5XO7KBBL.js} +7 -7
- package/dist/{src-ZUYRJWHE.js → src-ZPEZRIUC.js} +13 -13
- package/dist/{staticProjectServer-H6GKJPVR.js → staticProjectServer-RLERPIY6.js} +15 -15
- package/dist/studio/assets/{hyperframes-player-BhRLDR30.js → hyperframes-player-mYPt9XVX.js} +1 -1
- package/dist/studio/assets/{index-DQ_I6X0d.js → index-B-v5xQjD.js} +97 -97
- package/dist/studio/assets/{index-CCRXiiFo.js → index-DtHmIKM0.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/{studio-api-72FF3CQG.js → studio-api-4INCUOCU.js} +9 -9
- package/dist/{studioServer-2YBG4HV2.js → studioServer-DMDE7IZU.js} +54 -52
- package/dist/{telemetry-DCFWJC6H.js → telemetry-4Y5DYI6H.js} +3 -3
- package/dist/{timeline-IN6TQ6AQ.js → timeline-XJRKELVE.js} +37 -24
- package/dist/{tokens-2ELEYMMJ.js → tokens-G4VKTABI.js} +2 -2
- package/dist/{transcribe-GGNTXYJS.js → transcribe-JRSQRPVH.js} +9 -9
- package/dist/{transcribe-KELKHOAQ.js → transcribe-Y46B2ZVD.js} +15 -15
- package/dist/{updateCheck-IK3VKZ2E.js → updateCheck-NGYDWGQL.js} +2 -2
- package/dist/{upgrade-JND5YLA5.js → upgrade-M2LQP5S7.js} +2 -2
- package/dist/{urlDownloader-XCHPVCAE.js → urlDownloader-UFDUP3VF.js} +7 -7
- package/dist/{validate-4PJYWIXX.js → validate-B3AUFCC5.js} +24 -22
- package/dist/{video-53CDAVK2.js → video-WLCNVSVU.js} +8 -8
- package/package.json +1 -1
- package/dist/chunk-LGAKMIEX.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";
|
|
@@ -6475,8 +6475,9 @@ function stylesheetCanvasZoomHits(styles, rootId, rootClasses) {
|
|
|
6475
6475
|
const hits = [];
|
|
6476
6476
|
for (const style of styles) {
|
|
6477
6477
|
const ruleWithBody = /([^{}]+)\{([^{}]*)\}/g;
|
|
6478
|
+
const content = stripCssComments(style.content);
|
|
6478
6479
|
let match;
|
|
6479
|
-
while ((match = ruleWithBody.exec(
|
|
6480
|
+
while ((match = ruleWithBody.exec(content)) !== null) {
|
|
6480
6481
|
const hit = canvasZoomInRule(match[1] ?? "", match[2] ?? "", rootId, rootClasses);
|
|
6481
6482
|
if (hit) hits.push(hit);
|
|
6482
6483
|
}
|
|
@@ -7122,37 +7123,6 @@ var compositionRules = [
|
|
|
7122
7123
|
// defaults aren't applied.
|
|
7123
7124
|
// Checked on every element that declares: <html>, or the composition root.
|
|
7124
7125
|
({ tags }) => tags.filter((tag) => readJsonAttr(tag.raw, "data-composition-variables")).flatMap((tag) => variablesDeclarationFindings(tag, tags)),
|
|
7125
|
-
// html_dir_attribute_breaks_render — valid non-LTR dir values on
|
|
7126
|
-
// <html> renders correctly in preview/snapshot but produces a fully
|
|
7127
|
-
// blank/black video from render, with no other lint/validate/inspect
|
|
7128
|
-
// check catching it (output file size, far smaller than expected, is the
|
|
7129
|
-
// only tell). Confirmed independently by two separate reports, both
|
|
7130
|
-
// diagnosing the same exact trigger and the same fix: drop dir from
|
|
7131
|
-
// <html>, keep lang, and scope `direction: rtl` to individual
|
|
7132
|
-
// text-containing elements via CSS instead (text still bidi-shapes
|
|
7133
|
-
// correctly). Advisory-only — this does not attempt to fix the render
|
|
7134
|
-
// pipeline's own root cause (suspected to be a capture step that clips a
|
|
7135
|
-
// fixed top-left-origin screenshot region, which RTL layout can shift the
|
|
7136
|
-
// actual content away from), only surfaces the already-confirmed footgun
|
|
7137
|
-
// before someone hits it blind.
|
|
7138
|
-
({ tags }) => {
|
|
7139
|
-
const htmlTag = findHtmlTag(tags);
|
|
7140
|
-
if (!htmlTag) return [];
|
|
7141
|
-
const dir = readAttr(htmlTag.raw, "dir");
|
|
7142
|
-
if (!dir) return [];
|
|
7143
|
-
const normalizedDir = dir.toLowerCase();
|
|
7144
|
-
if (normalizedDir !== "rtl" && normalizedDir !== "auto") return [];
|
|
7145
|
-
const scopedDirection = normalizedDir === "auto" ? 'dir="auto"' : `direction: ${normalizedDir}`;
|
|
7146
|
-
return [
|
|
7147
|
-
{
|
|
7148
|
-
code: "html_dir_attribute_breaks_render",
|
|
7149
|
-
severity: "error",
|
|
7150
|
-
message: `<html dir="${dir}"> renders correctly in preview/snapshot but produces a fully blank/black video from render. This is a confirmed, silent failure.`,
|
|
7151
|
-
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.`,
|
|
7152
|
-
snippet: truncateSnippet(htmlTag.raw)
|
|
7153
|
-
}
|
|
7154
|
-
];
|
|
7155
|
-
},
|
|
7156
7126
|
// subcomposition_blanks_before_host
|
|
7157
7127
|
// Warns when a full-bleed sub-composition slot ends before the host composition
|
|
7158
7128
|
// does, leaving the slot blank for the remainder (issue #1540). Scoped narrowly to
|
|
@@ -9948,7 +9918,8 @@ var NODE_ATTRS = [
|
|
|
9948
9918
|
"data-track-index",
|
|
9949
9919
|
"data-track-kind",
|
|
9950
9920
|
"data-composition-id",
|
|
9951
|
-
"data-composition-src"
|
|
9921
|
+
"data-composition-src",
|
|
9922
|
+
"data-hf-media-start-basis"
|
|
9952
9923
|
];
|
|
9953
9924
|
function toNode(open) {
|
|
9954
9925
|
const attrs = {};
|
|
@@ -10056,6 +10027,33 @@ function clipsPastRootFindings(root, rows) {
|
|
|
10056
10027
|
];
|
|
10057
10028
|
});
|
|
10058
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
|
+
}
|
|
10059
10057
|
var structureRules = [
|
|
10060
10058
|
(ctx) => {
|
|
10061
10059
|
if (ctx.options.isSubComposition) return [];
|
|
@@ -10069,6 +10067,12 @@ var structureRules = [
|
|
|
10069
10067
|
...captionFindings(rows, severity),
|
|
10070
10068
|
...clipsPastRootFindings(root, rows)
|
|
10071
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));
|
|
10072
10076
|
}
|
|
10073
10077
|
];
|
|
10074
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";
|