From 74ba97b7edcc6ed2166fe00ee280c8c05ff718fc Mon Sep 17 00:00:00 2001 From: ukimsanov Date: Tue, 4 Aug 2026 12:59:50 -0700 Subject: [PATCH] fix(scripts): the repo already knew which items have no poster MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thirteen manifests declare `preview: { video }` with no `poster` key, and that omission is deliberate — no .png was ever produced for them. main reads it in one line: `if (manifest.preview) return manifest.preview.poster`. I deleted that line as "config nobody varies", having checked whether any poster DIFFERED from the generated URL (none did, 100 of 100) and never having checked whether any was ABSENT (thirteen were). Then I replaced it with a filesystem check against docs/images, which is gitignored, so it was false everywhere and would have stripped all 168. Then I removed the poster entirely. Three wrong answers to a question the repo had already answered. Restored, and the page's video tag now asks the same function rather than a second source of truth. 155 of 168 carry a poster, matching main exactly: 154 video pages plus texture-mask-text, which renders mask images instead of a video. The 13 remaining dead URLs are in catalog-index.json only, which no code in docs/ or packages/ reads, and no rendered page requests them. The complexity cuts to the encode pass stand: hasAudio deleted (ffmpeg ignores -c:a with no audio stream), and the spawn+Promise wrapper is execFileSync. --- docs/catalog/blocks/app-showcase.mdx | 2 +- docs/catalog/blocks/apple-money-count.mdx | 2 +- docs/catalog/blocks/beat-freeze-cut.mdx | 2 +- .../blocks/blue-sweater-intro-video.mdx | 2 +- docs/catalog/blocks/camcorder-hud.mdx | 2 +- .../catalog/blocks/chromatic-radial-split.mdx | 2 +- docs/catalog/blocks/cinematic-zoom.mdx | 2 +- docs/catalog/blocks/code-3d-extrude.mdx | 2 +- docs/catalog/blocks/code-diff.mdx | 2 +- docs/catalog/blocks/code-highlight.mdx | 2 +- docs/catalog/blocks/code-morph.mdx | 2 +- .../catalog/blocks/code-particle-assemble.mdx | 2 +- docs/catalog/blocks/code-scroll.mdx | 2 +- docs/catalog/blocks/code-shader-dissolve.mdx | 2 +- .../catalog/blocks/code-snippet-dark-2026.mdx | 2 +- .../blocks/code-snippet-dark-modern.mdx | 2 +- .../catalog/blocks/code-snippet-dark-plus.mdx | 2 +- docs/catalog/blocks/code-snippet-flight.mdx | 2 +- .../code-snippet-high-contrast-light.mdx | 2 +- .../blocks/code-snippet-high-contrast.mdx | 2 +- .../blocks/code-snippet-light-2026.mdx | 2 +- .../blocks/code-snippet-light-modern.mdx | 2 +- .../blocks/code-snippet-light-plus.mdx | 2 +- docs/catalog/blocks/code-snippet-monokai.mdx | 2 +- .../blocks/code-snippet-solarized-light.mdx | 2 +- .../code-snippet-visual-studio-dark.mdx | 2 +- .../code-snippet-visual-studio-light.mdx | 2 +- docs/catalog/blocks/code-typing.mdx | 2 +- docs/catalog/blocks/cross-warp-morph.mdx | 2 +- docs/catalog/blocks/data-chart.mdx | 2 +- docs/catalog/blocks/domain-warp-dissolve.mdx | 2 +- .../blocks/editorial-flash-overlay.mdx | 2 +- docs/catalog/blocks/flash-through-white.mdx | 2 +- docs/catalog/blocks/flowchart-vertical.mdx | 2 +- docs/catalog/blocks/flowchart.mdx | 2 +- docs/catalog/blocks/freeze-frame-dressing.mdx | 2 +- docs/catalog/blocks/glitch.mdx | 2 +- docs/catalog/blocks/gravitational-lens.mdx | 2 +- docs/catalog/blocks/hw-frame.mdx | 2 +- docs/catalog/blocks/hw-path-text.mdx | 2 +- docs/catalog/blocks/hw-pipeline.mdx | 2 +- .../catalog/blocks/hw-scribble-transition.mdx | 2 +- docs/catalog/blocks/hw-text-cloud.mdx | 2 +- docs/catalog/blocks/hw-title.mdx | 2 +- docs/catalog/blocks/instagram-follow.mdx | 2 +- docs/catalog/blocks/ios26-liquid-glass.mdx | 2 +- docs/catalog/blocks/light-leak.mdx | 2 +- .../blocks/liquid-glass-context-menu.mdx | 2 +- .../blocks/liquid-glass-media-controls.mdx | 2 +- .../blocks/liquid-glass-notification.mdx | 2 +- docs/catalog/blocks/liquid-glass-widgets.mdx | 2 +- docs/catalog/blocks/logo-outro.mdx | 2 +- docs/catalog/blocks/lower-third-bild.mdx | 2 +- docs/catalog/blocks/lt-accent-underline.mdx | 2 +- docs/catalog/blocks/lt-bold-block.mdx | 2 +- docs/catalog/blocks/lt-clean-bar.mdx | 2 +- docs/catalog/blocks/lt-color-block.mdx | 2 +- docs/catalog/blocks/lt-dark-card.mdx | 2 +- docs/catalog/blocks/lt-kicker-name.mdx | 2 +- docs/catalog/blocks/lt-mask-reveal.mdx | 2 +- docs/catalog/blocks/lt-side-rule.mdx | 2 +- docs/catalog/blocks/lt-soft-pill.mdx | 2 +- docs/catalog/blocks/lt-stack-bars.mdx | 2 +- docs/catalog/blocks/macos-notification.mdx | 2 +- .../blocks/macos-tahoe-liquid-glass.mdx | 2 +- docs/catalog/blocks/mk-background.mdx | 2 +- docs/catalog/blocks/mk-callout-highlight.mdx | 2 +- .../blocks/mk-clone-wall-transition.mdx | 2 +- docs/catalog/blocks/mk-line-graph.mdx | 2 +- docs/catalog/blocks/mk-placeholder-grid.mdx | 2 +- docs/catalog/blocks/mk-progress-stat.mdx | 2 +- docs/catalog/blocks/mk-specs-list.mdx | 2 +- docs/catalog/blocks/news-ticker.mdx | 2 +- .../blocks/north-korea-locked-down.mdx | 2 +- docs/catalog/blocks/nyc-paris-flight.mdx | 2 +- .../blocks/organic-light-leak-overlay.mdx | 2 +- docs/catalog/blocks/reddit-post.mdx | 2 +- docs/catalog/blocks/ridged-burn.mdx | 2 +- docs/catalog/blocks/ripple-waves.mdx | 2 +- docs/catalog/blocks/sdf-iris.mdx | 2 +- docs/catalog/blocks/spain-map.mdx | 2 +- docs/catalog/blocks/spotify-card.mdx | 2 +- docs/catalog/blocks/swirl-vortex.mdx | 2 +- docs/catalog/blocks/thermal-distortion.mdx | 2 +- docs/catalog/blocks/tiktok-follow.mdx | 2 +- docs/catalog/blocks/transitions-3d.mdx | 2 +- docs/catalog/blocks/transitions-blur.mdx | 2 +- docs/catalog/blocks/transitions-cover.mdx | 2 +- .../blocks/transitions-destruction.mdx | 2 +- docs/catalog/blocks/transitions-dissolve.mdx | 2 +- .../catalog/blocks/transitions-distortion.mdx | 2 +- docs/catalog/blocks/transitions-grid.mdx | 2 +- docs/catalog/blocks/transitions-light.mdx | 2 +- .../catalog/blocks/transitions-mechanical.mdx | 2 +- docs/catalog/blocks/transitions-other.mdx | 2 +- docs/catalog/blocks/transitions-push.mdx | 2 +- docs/catalog/blocks/transitions-radial.mdx | 2 +- docs/catalog/blocks/transitions-scale.mdx | 2 +- docs/catalog/blocks/ui-3d-reveal.mdx | 2 +- docs/catalog/blocks/us-map-bubble.mdx | 2 +- docs/catalog/blocks/us-map-flow.mdx | 2 +- docs/catalog/blocks/us-map-hex.mdx | 2 +- docs/catalog/blocks/us-map.mdx | 2 +- docs/catalog/blocks/vfx-iphone-device.mdx | 2 +- docs/catalog/blocks/vfx-liquid-background.mdx | 2 +- docs/catalog/blocks/vfx-liquid-glass.mdx | 2 +- docs/catalog/blocks/vfx-magnetic.mdx | 2 +- docs/catalog/blocks/vfx-portal.mdx | 2 +- docs/catalog/blocks/vfx-shatter.mdx | 2 +- docs/catalog/blocks/vfx-text-cursor.mdx | 2 +- docs/catalog/blocks/vpn-youtube-spot.mdx | 2 +- docs/catalog/blocks/whip-pan.mdx | 2 +- docs/catalog/blocks/world-map.mdx | 2 +- docs/catalog/blocks/x-post.mdx | 2 +- docs/catalog/blocks/yt-comment-card.mdx | 2 +- docs/catalog/blocks/yt-lcd-background.mdx | 2 +- docs/catalog/blocks/yt-logo-intro.mdx | 2 +- docs/catalog/blocks/yt-lower-third.mdx | 2 +- docs/catalog/blocks/yt-prism-title.mdx | 2 +- docs/catalog/blocks/yt-vertical-fill.mdx | 2 +- .../components/caption-blend-difference.mdx | 2 +- docs/catalog/components/caption-clip-wipe.mdx | 2 +- .../components/caption-editorial-emphasis.mdx | 2 +- docs/catalog/components/caption-emoji-pop.mdx | 2 +- .../catalog/components/caption-glitch-rgb.mdx | 2 +- .../components/caption-gradient-fill.mdx | 2 +- docs/catalog/components/caption-highlight.mdx | 2 +- .../components/caption-kinetic-slam.mdx | 2 +- .../components/caption-matrix-decode.mdx | 2 +- .../components/caption-neon-accent.mdx | 2 +- docs/catalog/components/caption-neon-glow.mdx | 2 +- .../components/caption-parallax-layers.mdx | 2 +- .../components/caption-particle-burst.mdx | 2 +- .../components/caption-pill-karaoke.mdx | 2 +- docs/catalog/components/caption-texture.mdx | 2 +- .../components/caption-weight-shift.mdx | 2 +- docs/catalog/components/grain-overlay.mdx | 2 +- .../catalog/components/grid-pixelate-wipe.mdx | 2 +- docs/catalog/components/hw-arrow.mdx | 2 +- docs/catalog/components/hw-boil.mdx | 2 +- docs/catalog/components/hw-box-label.mdx | 2 +- docs/catalog/components/hw-callout-circle.mdx | 2 +- docs/catalog/components/hw-underline.mdx | 2 +- docs/catalog/components/mk-emphasis-type.mdx | 2 +- docs/catalog/components/mk-usage-arc.mdx | 2 +- docs/catalog/components/motion-blur.mdx | 2 +- docs/catalog/components/parallax-unzoom.mdx | 2 +- docs/catalog/components/parallax-zoom.mdx | 2 +- docs/catalog/components/shimmer-sweep.mdx | 2 +- docs/catalog/components/vignette.mdx | 2 +- docs/catalog/components/yt-camera-move.mdx | 2 +- docs/catalog/components/yt-circle-pointer.mdx | 2 +- .../components/yt-feather-highlight.mdx | 2 +- docs/catalog/components/yt-screen-warp.mdx | 2 +- docs/public/catalog-index.json | 39 +++++++------------ scripts/generate-catalog-pages.ts | 18 +++++---- 156 files changed, 178 insertions(+), 187 deletions(-) diff --git a/docs/catalog/blocks/app-showcase.mdx b/docs/catalog/blocks/app-showcase.mdx index 927a8ae3e..b564ccade 100644 --- a/docs/catalog/blocks/app-showcase.mdx +++ b/docs/catalog/blocks/app-showcase.mdx @@ -3,7 +3,7 @@ title: "App Showcase" description: "Fitness app product showcase with three floating smartphone screens" --- -