diff --git a/docs/project-state.md b/docs/project-state.md index 926b608..6a8b2dc 100644 --- a/docs/project-state.md +++ b/docs/project-state.md @@ -123,8 +123,63 @@ Everything below is measured, not planned. A fresh session needs no other contex 7. **Delivery shipped 2026-10-19** (`327d516` → Gitea `main`, deploy green): 72 EN + 72 ZH cards, 144 banner files, 144 thumbs rendered into `public/`; the 144 v1 PNGs deleted; 288 frontmatter fields migrated; the two components fixed. `npm run build` → **251 pages**, 216 distinct image references, **0 missing, 0 stale `.png`**; live assertions afterwards: EN card 200 `image/jpeg`, ZH card 200 (did not exist before), banner WebP 200, thumbs 200 from both listings, v1 `.png` 404, and the ZH listing's thumbs resolve from the base slug (the old helper would have 404'd every one of them). The repo also carries the art inputs — `scripts/og-gen/metaphors.json`, `captions/.json` (72), a refreshed `prompts_catalog.json` with 72 distinct entries, via `scripts/og-gen/sync_prompts_catalog.py --check`. 8. **Art weight: 13.4 MB → 15.4 MB (+2.0 MB), and it buys 72 ZH cards that did not exist before.** Per file: EN card 67 KB JPEG (v1 was 71 KB PNG), banner 40 KB JPEG + 30 KB WebP, thumb 7 KB WebP. -**Two observations for the owner** (not defects, both open): -- The hero banner carries no text overlay, so the art's left 60 % negative space reads as dark band on a dark page; on `your-disk-full-alert-is-lying` the subject occupies ~29 % of the banner width. A banner-side crop toward the subject (the card already scales the art 116 %) would roughly double its presence. Not applied — it changes the framing the consultant accepted in round 4. +**Round-6 — the consultant's review of the shipped set (2026-10-19).** Two defects were +real and both were ours, not the model's: + +1. **ZH cards shipped a literal `\` escape** — `你的\"磁盘将满\"告警在说谎`. The renderer's + frontmatter parser stripped only the outer quotes and left YAML's `\"` in the string. + Fixed by unescaping YAML escapes and converting straight quotes to “ ” pairwise. +2. **The artwork carried HUD readouts after all** — the consultant read `60%`, `100%` and + `00%` off `your-disk-full-alert-is-lying`, plus a `10` and a ruler line on + `that-dying-ssd-…`. Root cause: the shared style block inherited from the accepted + samples (`technical blueprint vector lines`, `status indicator lights`) and the + background's `blueprint grid crosshairs and delicate vector coordinate lines`, plus one + metaphor that literally said "percentage gauge". **The first delivery's own claim that + the art was text-clean was wrong**: the gate flagged `00%`@0.84 at the old bar and it + was classified as geometry noise. The gate now runs the consultant's bar (glyph box + ≥ 12 px **and** ≥ 2 alphanumeric/percent characters; single glyphs exempt) and + `build_captions.py` asserts a `FORBIDDEN` word list so blueprint/gauge/label language + cannot return. Three pilot frames re-rendered at the fixed prompt: **0 OCR hits each** + (was `SSD` 66 px, `IDENESLOES` 92 px, `00%` 15 px), then all 72 regenerated. + +Rulings adopted: banner/thumb **reframing** (option B — subject targeted at 45–50 % of the +banner width, thumbs cut from the banner; measured 45–47 % for 5 of 8 sampled frames, +35–44 % for two, ~14 % for one genuinely slender subject — widening the caption `bbox` does +not enlarge the subject, measured), light-theme **hairline + soft shadow** (option A), and +the evidence line capped at 65 characters. Cards are unchanged apart from the quote fix. +Style is unchanged (option: keep the realistic 3D machinery look). +**Round-6b — the banner crop algorithm, rewritten after review (2026-10-19).** The +consultant looked at the probe sheet and found the detection box on the glassware frame +covered only the local highlight. Correct, and the cause was structural, not a threshold: + +| attempt | measured | +|---|---| +| column mean (what shipped in round 6) | dark glass sits 2–6 levels above background → boxed the glow only: 8 % of the frame for an object group spanning 35 %+ | +| per-row background sample + global threshold | a left-margin sample cannot describe a horizontal gradient → 39 % on one frame, 69 % on the next | +| **deviation from an estimated background plane + connected component** (now) | downsample 16×, median-filter the object away, upsample; `|L−bg| > 16 or |∇| > 10`; 3×3 opening kills the grid lines; 31 px closing bridges the object's own dark gaps; union of components within 10 % of the largest. Stable across thresholds 8–20, 0.0 % false-positive on the left margin | + +The closing kernel mattered: at 9 px two frames split into components and the largest one +boxed a sliver (4.2 % and 5.9 % of frame width for ~39 % objects). Zoom is computed on the +**silhouette** (target 47 % of banner width, centre 53.5 %), the detected box is padded 4 % +first, and the window is no longer clamped into the scaled frame — clamping is what glued a +thin subject to the right edge. Shortfall is filled by extending the canvas with the art's +own edge pixels **one row at a time** (a single averaged fill was tried and left a visible +tonal step down the right edge). + +Detection lives in Python (`C:/AI/ideogram4/plan_banner_crops.py` → `out/banner-plan.json`, +frozen into the repo by `sync_prompts_catalog.py`, consumed by `render_from_art.mjs`), and +`verify_banner_crops.py` re-detects the subject **on the finished banners** rather than +trusting the plan. Measured on the delivered set: **72 banners, 0 clipped, silhouette median +47.0 %, centre median 53.5 %** (two outliers reported: `hello-world` 64 % — the focal cursor +is small but its platform spans the frame; `my-backup-was-using-someone-elses-api-quota` 25 %). + +Also fixed here: `art-meta.json` no longer pins `docker-reported-exit-0-the-oom-killer-disagreed` +and `running-production-infrastructure-solo` to `sample_oom_169_00001_.png` / +`sample_prod_169_00001_.png` — **those two frames were the HUD-carrying ones the consultant +flagged**, and the pins also kept those slugs out of the crop plan. + +**Two observations for the owner** (both now decided by the consultant's round-5 ruling): +- The hero banner's dead black left half is fixed by the renderer's reframing (above); what remains is that a genuinely slender subject (a thin cylinder) still reads small — that is the base frame's composition, and widening the caption `bbox` was measured not to change it. - Several frames are intentionally very dark; at full banner width the subject can read as small. **Three decisions still open** (asked of the consultant in round 4 §二; the owner may simply pick the defaults): diff --git a/public/banners/adding-a-domain-to-someone-elses-mail-server.jpg b/public/banners/adding-a-domain-to-someone-elses-mail-server.jpg index c696656..0b4fec9 100644 Binary files a/public/banners/adding-a-domain-to-someone-elses-mail-server.jpg and b/public/banners/adding-a-domain-to-someone-elses-mail-server.jpg differ diff --git a/public/banners/adding-a-domain-to-someone-elses-mail-server.webp b/public/banners/adding-a-domain-to-someone-elses-mail-server.webp index d5348dd..ae1172d 100644 Binary files a/public/banners/adding-a-domain-to-someone-elses-mail-server.webp and b/public/banners/adding-a-domain-to-someone-elses-mail-server.webp differ diff --git a/public/banners/adding-english-mode-to-a-chinese-only-web-app.jpg b/public/banners/adding-english-mode-to-a-chinese-only-web-app.jpg index 766d608..222d71f 100644 Binary files a/public/banners/adding-english-mode-to-a-chinese-only-web-app.jpg and b/public/banners/adding-english-mode-to-a-chinese-only-web-app.jpg differ diff --git a/public/banners/adding-english-mode-to-a-chinese-only-web-app.webp b/public/banners/adding-english-mode-to-a-chinese-only-web-app.webp index b72e1e8..422207a 100644 Binary files a/public/banners/adding-english-mode-to-a-chinese-only-web-app.webp and b/public/banners/adding-english-mode-to-a-chinese-only-web-app.webp differ diff --git a/public/banners/ai-furniture-compositing-with-flux-kontext.jpg b/public/banners/ai-furniture-compositing-with-flux-kontext.jpg index 5e3f583..2a61325 100644 Binary files a/public/banners/ai-furniture-compositing-with-flux-kontext.jpg and b/public/banners/ai-furniture-compositing-with-flux-kontext.jpg differ diff --git a/public/banners/ai-furniture-compositing-with-flux-kontext.webp b/public/banners/ai-furniture-compositing-with-flux-kontext.webp index 2285c9d..7228a0e 100644 Binary files a/public/banners/ai-furniture-compositing-with-flux-kontext.webp and b/public/banners/ai-furniture-compositing-with-flux-kontext.webp differ diff --git a/public/banners/authentik-css-greater-than-bug.jpg b/public/banners/authentik-css-greater-than-bug.jpg index f55458f..3f475f9 100644 Binary files a/public/banners/authentik-css-greater-than-bug.jpg and b/public/banners/authentik-css-greater-than-bug.jpg differ diff --git a/public/banners/authentik-css-greater-than-bug.webp b/public/banners/authentik-css-greater-than-bug.webp index 8db2c2f..feb15e8 100644 Binary files a/public/banners/authentik-css-greater-than-bug.webp and b/public/banners/authentik-css-greater-than-bug.webp differ diff --git a/public/banners/authentik-forward-auth-gate-wasnt-live.jpg b/public/banners/authentik-forward-auth-gate-wasnt-live.jpg index be7bdb3..c236b1d 100644 Binary files a/public/banners/authentik-forward-auth-gate-wasnt-live.jpg and b/public/banners/authentik-forward-auth-gate-wasnt-live.jpg differ diff --git a/public/banners/authentik-forward-auth-gate-wasnt-live.webp b/public/banners/authentik-forward-auth-gate-wasnt-live.webp index 11d17bf..90e7b62 100644 Binary files a/public/banners/authentik-forward-auth-gate-wasnt-live.webp and b/public/banners/authentik-forward-auth-gate-wasnt-live.webp differ diff --git a/public/banners/authentik-major-upgrade-gotchas.jpg b/public/banners/authentik-major-upgrade-gotchas.jpg index 13b206a..7938eb8 100644 Binary files a/public/banners/authentik-major-upgrade-gotchas.jpg and b/public/banners/authentik-major-upgrade-gotchas.jpg differ diff --git a/public/banners/authentik-major-upgrade-gotchas.webp b/public/banners/authentik-major-upgrade-gotchas.webp index 836ff90..c5e83f3 100644 Binary files a/public/banners/authentik-major-upgrade-gotchas.webp and b/public/banners/authentik-major-upgrade-gotchas.webp differ diff --git a/public/banners/automating-cyberpanel-without-the-ui.jpg b/public/banners/automating-cyberpanel-without-the-ui.jpg index ed01df0..1857b11 100644 Binary files a/public/banners/automating-cyberpanel-without-the-ui.jpg and b/public/banners/automating-cyberpanel-without-the-ui.jpg differ diff --git a/public/banners/automating-cyberpanel-without-the-ui.webp b/public/banners/automating-cyberpanel-without-the-ui.webp index e9c6a5b..08b0849 100644 Binary files a/public/banners/automating-cyberpanel-without-the-ui.webp and b/public/banners/automating-cyberpanel-without-the-ui.webp differ diff --git a/public/banners/best-ai-video-generators-2026.jpg b/public/banners/best-ai-video-generators-2026.jpg index a1d7594..05232cd 100644 Binary files a/public/banners/best-ai-video-generators-2026.jpg and b/public/banners/best-ai-video-generators-2026.jpg differ diff --git a/public/banners/best-ai-video-generators-2026.webp b/public/banners/best-ai-video-generators-2026.webp index 835c2b5..c573c1f 100644 Binary files a/public/banners/best-ai-video-generators-2026.webp and b/public/banners/best-ai-video-generators-2026.webp differ diff --git a/public/banners/calibrating-intel-quick-sync-hevc-quality.jpg b/public/banners/calibrating-intel-quick-sync-hevc-quality.jpg index 7f35720..1cab987 100644 Binary files a/public/banners/calibrating-intel-quick-sync-hevc-quality.jpg and b/public/banners/calibrating-intel-quick-sync-hevc-quality.jpg differ diff --git a/public/banners/calibrating-intel-quick-sync-hevc-quality.webp b/public/banners/calibrating-intel-quick-sync-hevc-quality.webp index ee917f6..e306251 100644 Binary files a/public/banners/calibrating-intel-quick-sync-hevc-quality.webp and b/public/banners/calibrating-intel-quick-sync-hevc-quality.webp differ diff --git a/public/banners/chainlink-vrf-v2-lottery-contract.jpg b/public/banners/chainlink-vrf-v2-lottery-contract.jpg index 3a9b7eb..35e4689 100644 Binary files a/public/banners/chainlink-vrf-v2-lottery-contract.jpg and b/public/banners/chainlink-vrf-v2-lottery-contract.jpg differ diff --git a/public/banners/chainlink-vrf-v2-lottery-contract.webp b/public/banners/chainlink-vrf-v2-lottery-contract.webp index 2dbb00b..e5a2243 100644 Binary files a/public/banners/chainlink-vrf-v2-lottery-contract.webp and b/public/banners/chainlink-vrf-v2-lottery-contract.webp differ diff --git a/public/banners/docker-reported-exit-0-the-oom-killer-disagreed.jpg b/public/banners/docker-reported-exit-0-the-oom-killer-disagreed.jpg index a66aed1..a29ad36 100644 Binary files a/public/banners/docker-reported-exit-0-the-oom-killer-disagreed.jpg and b/public/banners/docker-reported-exit-0-the-oom-killer-disagreed.jpg differ diff --git a/public/banners/docker-reported-exit-0-the-oom-killer-disagreed.webp b/public/banners/docker-reported-exit-0-the-oom-killer-disagreed.webp index b440903..017ee36 100644 Binary files a/public/banners/docker-reported-exit-0-the-oom-killer-disagreed.webp and b/public/banners/docker-reported-exit-0-the-oom-killer-disagreed.webp differ diff --git a/public/banners/does-hevc-actually-shrink-your-files.jpg b/public/banners/does-hevc-actually-shrink-your-files.jpg index 6b5b590..bfb59c4 100644 Binary files a/public/banners/does-hevc-actually-shrink-your-files.jpg and b/public/banners/does-hevc-actually-shrink-your-files.jpg differ diff --git a/public/banners/does-hevc-actually-shrink-your-files.webp b/public/banners/does-hevc-actually-shrink-your-files.webp index 3be0468..a190b01 100644 Binary files a/public/banners/does-hevc-actually-shrink-your-files.webp and b/public/banners/does-hevc-actually-shrink-your-files.webp differ diff --git a/public/banners/embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg b/public/banners/embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg index 4702eb4..88ce5c1 100644 Binary files a/public/banners/embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg and b/public/banners/embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg differ diff --git a/public/banners/embedding-fonts-so-a-pdf-looks-the-same-everywhere.webp b/public/banners/embedding-fonts-so-a-pdf-looks-the-same-everywhere.webp index 535978c..e75a41f 100644 Binary files a/public/banners/embedding-fonts-so-a-pdf-looks-the-same-everywhere.webp and b/public/banners/embedding-fonts-so-a-pdf-looks-the-same-everywhere.webp differ diff --git a/public/banners/every-player-stuttered-the-file-was-fine.jpg b/public/banners/every-player-stuttered-the-file-was-fine.jpg index 1d5e79f..0048fb8 100644 Binary files a/public/banners/every-player-stuttered-the-file-was-fine.jpg and b/public/banners/every-player-stuttered-the-file-was-fine.jpg differ diff --git a/public/banners/every-player-stuttered-the-file-was-fine.webp b/public/banners/every-player-stuttered-the-file-was-fine.webp index 0fba532..98bd8c4 100644 Binary files a/public/banners/every-player-stuttered-the-file-was-fine.webp and b/public/banners/every-player-stuttered-the-file-was-fine.webp differ diff --git a/public/banners/five-step-ai-roadmap-what-i-actually-run.jpg b/public/banners/five-step-ai-roadmap-what-i-actually-run.jpg index 87430cc..945de24 100644 Binary files a/public/banners/five-step-ai-roadmap-what-i-actually-run.jpg and b/public/banners/five-step-ai-roadmap-what-i-actually-run.jpg differ diff --git a/public/banners/five-step-ai-roadmap-what-i-actually-run.webp b/public/banners/five-step-ai-roadmap-what-i-actually-run.webp index e772188..62377a6 100644 Binary files a/public/banners/five-step-ai-roadmap-what-i-actually-run.webp and b/public/banners/five-step-ai-roadmap-what-i-actually-run.webp differ diff --git a/public/banners/fully-on-chain-svg-nfts.jpg b/public/banners/fully-on-chain-svg-nfts.jpg index 0d33c67..c484712 100644 Binary files a/public/banners/fully-on-chain-svg-nfts.jpg and b/public/banners/fully-on-chain-svg-nfts.jpg differ diff --git a/public/banners/fully-on-chain-svg-nfts.webp b/public/banners/fully-on-chain-svg-nfts.webp index 0452622..a2b81be 100644 Binary files a/public/banners/fully-on-chain-svg-nfts.webp and b/public/banners/fully-on-chain-svg-nfts.webp differ diff --git a/public/banners/hardening-a-tor-onion-service.jpg b/public/banners/hardening-a-tor-onion-service.jpg index f7c3a8f..287a426 100644 Binary files a/public/banners/hardening-a-tor-onion-service.jpg and b/public/banners/hardening-a-tor-onion-service.jpg differ diff --git a/public/banners/hardening-a-tor-onion-service.webp b/public/banners/hardening-a-tor-onion-service.webp index 8b5d8b9..f27712f 100644 Binary files a/public/banners/hardening-a-tor-onion-service.webp and b/public/banners/hardening-a-tor-onion-service.webp differ diff --git a/public/banners/hello-world.jpg b/public/banners/hello-world.jpg index d17fa1a..4317ae8 100644 Binary files a/public/banners/hello-world.jpg and b/public/banners/hello-world.jpg differ diff --git a/public/banners/hello-world.webp b/public/banners/hello-world.webp index 3ce2556..cbc3b27 100644 Binary files a/public/banners/hello-world.webp and b/public/banners/hello-world.webp differ diff --git a/public/banners/how-i-built-the-digikedai-telegram-bot.jpg b/public/banners/how-i-built-the-digikedai-telegram-bot.jpg index 7134ea2..570854a 100644 Binary files a/public/banners/how-i-built-the-digikedai-telegram-bot.jpg and b/public/banners/how-i-built-the-digikedai-telegram-bot.jpg differ diff --git a/public/banners/how-i-built-the-digikedai-telegram-bot.webp b/public/banners/how-i-built-the-digikedai-telegram-bot.webp index a929427..0966419 100644 Binary files a/public/banners/how-i-built-the-digikedai-telegram-bot.webp and b/public/banners/how-i-built-the-digikedai-telegram-bot.webp differ diff --git a/public/banners/how-i-host-this-blog.jpg b/public/banners/how-i-host-this-blog.jpg index 3c24a03..6514281 100644 Binary files a/public/banners/how-i-host-this-blog.jpg and b/public/banners/how-i-host-this-blog.jpg differ diff --git a/public/banners/how-i-host-this-blog.webp b/public/banners/how-i-host-this-blog.webp index 2a07c32..f0c197d 100644 Binary files a/public/banners/how-i-host-this-blog.webp and b/public/banners/how-i-host-this-blog.webp differ diff --git a/public/banners/how-i-made-my-own-songs-with-suno-ai.jpg b/public/banners/how-i-made-my-own-songs-with-suno-ai.jpg index e8aabbd..ff89946 100644 Binary files a/public/banners/how-i-made-my-own-songs-with-suno-ai.jpg and b/public/banners/how-i-made-my-own-songs-with-suno-ai.jpg differ diff --git a/public/banners/how-i-made-my-own-songs-with-suno-ai.webp b/public/banners/how-i-made-my-own-songs-with-suno-ai.webp index 29ee45c..7284903 100644 Binary files a/public/banners/how-i-made-my-own-songs-with-suno-ai.webp and b/public/banners/how-i-made-my-own-songs-with-suno-ai.webp differ diff --git a/public/banners/how-i-vetted-20-vps-providers-with-parallel-subagents.jpg b/public/banners/how-i-vetted-20-vps-providers-with-parallel-subagents.jpg index c16074b..7fa334b 100644 Binary files a/public/banners/how-i-vetted-20-vps-providers-with-parallel-subagents.jpg and b/public/banners/how-i-vetted-20-vps-providers-with-parallel-subagents.jpg differ diff --git a/public/banners/how-i-vetted-20-vps-providers-with-parallel-subagents.webp b/public/banners/how-i-vetted-20-vps-providers-with-parallel-subagents.webp index e5d300e..a8de725 100644 Binary files a/public/banners/how-i-vetted-20-vps-providers-with-parallel-subagents.webp and b/public/banners/how-i-vetted-20-vps-providers-with-parallel-subagents.webp differ diff --git a/public/banners/how-to-verify-a-hosting-provider-before-you-buy.jpg b/public/banners/how-to-verify-a-hosting-provider-before-you-buy.jpg index d9d2764..0006970 100644 Binary files a/public/banners/how-to-verify-a-hosting-provider-before-you-buy.jpg and b/public/banners/how-to-verify-a-hosting-provider-before-you-buy.jpg differ diff --git a/public/banners/how-to-verify-a-hosting-provider-before-you-buy.webp b/public/banners/how-to-verify-a-hosting-provider-before-you-buy.webp index a6e28f1..1aff998 100644 Binary files a/public/banners/how-to-verify-a-hosting-provider-before-you-buy.webp and b/public/banners/how-to-verify-a-hosting-provider-before-you-buy.webp differ diff --git a/public/banners/i-let-an-agent-manage-my-shopee-vouchers.jpg b/public/banners/i-let-an-agent-manage-my-shopee-vouchers.jpg index 63491b1..9d8a4a0 100644 Binary files a/public/banners/i-let-an-agent-manage-my-shopee-vouchers.jpg and b/public/banners/i-let-an-agent-manage-my-shopee-vouchers.jpg differ diff --git a/public/banners/i-let-an-agent-manage-my-shopee-vouchers.webp b/public/banners/i-let-an-agent-manage-my-shopee-vouchers.webp index eafec47..463267a 100644 Binary files a/public/banners/i-let-an-agent-manage-my-shopee-vouchers.webp and b/public/banners/i-let-an-agent-manage-my-shopee-vouchers.webp differ diff --git a/public/banners/it-reported-success-nothing-had-changed.jpg b/public/banners/it-reported-success-nothing-had-changed.jpg index 7b6105d..0587244 100644 Binary files a/public/banners/it-reported-success-nothing-had-changed.jpg and b/public/banners/it-reported-success-nothing-had-changed.jpg differ diff --git a/public/banners/it-reported-success-nothing-had-changed.webp b/public/banners/it-reported-success-nothing-had-changed.webp index 045b875..e8c4c90 100644 Binary files a/public/banners/it-reported-success-nothing-had-changed.webp and b/public/banners/it-reported-success-nothing-had-changed.webp differ diff --git a/public/banners/jpa-version-field-lost-update.jpg b/public/banners/jpa-version-field-lost-update.jpg index 8195c60..455122b 100644 Binary files a/public/banners/jpa-version-field-lost-update.jpg and b/public/banners/jpa-version-field-lost-update.jpg differ diff --git a/public/banners/jpa-version-field-lost-update.webp b/public/banners/jpa-version-field-lost-update.webp index c5d9742..b4d565d 100644 Binary files a/public/banners/jpa-version-field-lost-update.webp and b/public/banners/jpa-version-field-lost-update.webp differ diff --git a/public/banners/loop-engineering-without-a-coding-agent.jpg b/public/banners/loop-engineering-without-a-coding-agent.jpg index 671f602..5f76307 100644 Binary files a/public/banners/loop-engineering-without-a-coding-agent.jpg and b/public/banners/loop-engineering-without-a-coding-agent.jpg differ diff --git a/public/banners/loop-engineering-without-a-coding-agent.webp b/public/banners/loop-engineering-without-a-coding-agent.webp index ed3a25a..57d4082 100644 Binary files a/public/banners/loop-engineering-without-a-coding-agent.webp and b/public/banners/loop-engineering-without-a-coding-agent.webp differ diff --git a/public/banners/migrating-codeigniter-iis-to-openlitespeed.jpg b/public/banners/migrating-codeigniter-iis-to-openlitespeed.jpg index 3297411..46a2094 100644 Binary files a/public/banners/migrating-codeigniter-iis-to-openlitespeed.jpg and b/public/banners/migrating-codeigniter-iis-to-openlitespeed.jpg differ diff --git a/public/banners/migrating-codeigniter-iis-to-openlitespeed.webp b/public/banners/migrating-codeigniter-iis-to-openlitespeed.webp index 6534947..7189610 100644 Binary files a/public/banners/migrating-codeigniter-iis-to-openlitespeed.webp and b/public/banners/migrating-codeigniter-iis-to-openlitespeed.webp differ diff --git a/public/banners/my-backup-was-using-someone-elses-api-quota.jpg b/public/banners/my-backup-was-using-someone-elses-api-quota.jpg index f79b454..e3c2d20 100644 Binary files a/public/banners/my-backup-was-using-someone-elses-api-quota.jpg and b/public/banners/my-backup-was-using-someone-elses-api-quota.jpg differ diff --git a/public/banners/my-backup-was-using-someone-elses-api-quota.webp b/public/banners/my-backup-was-using-someone-elses-api-quota.webp index 12966de..e473a3a 100644 Binary files a/public/banners/my-backup-was-using-someone-elses-api-quota.webp and b/public/banners/my-backup-was-using-someone-elses-api-quota.webp differ diff --git a/public/banners/n8n-v1-to-v2-upgrade-gotchas.jpg b/public/banners/n8n-v1-to-v2-upgrade-gotchas.jpg index 88f7d6c..f6d1a0e 100644 Binary files a/public/banners/n8n-v1-to-v2-upgrade-gotchas.jpg and b/public/banners/n8n-v1-to-v2-upgrade-gotchas.jpg differ diff --git a/public/banners/n8n-v1-to-v2-upgrade-gotchas.webp b/public/banners/n8n-v1-to-v2-upgrade-gotchas.webp index 161d29b..f25cb46 100644 Binary files a/public/banners/n8n-v1-to-v2-upgrade-gotchas.webp and b/public/banners/n8n-v1-to-v2-upgrade-gotchas.webp differ diff --git a/public/banners/nocodb-sso-is-a-licensed-feature.jpg b/public/banners/nocodb-sso-is-a-licensed-feature.jpg index a7d3834..255f8ee 100644 Binary files a/public/banners/nocodb-sso-is-a-licensed-feature.jpg and b/public/banners/nocodb-sso-is-a-licensed-feature.jpg differ diff --git a/public/banners/nocodb-sso-is-a-licensed-feature.webp b/public/banners/nocodb-sso-is-a-licensed-feature.webp index 4903430..7de8787 100644 Binary files a/public/banners/nocodb-sso-is-a-licensed-feature.webp and b/public/banners/nocodb-sso-is-a-licensed-feature.webp differ diff --git a/public/banners/one-hostname-public-tracker-sso-dashboard.jpg b/public/banners/one-hostname-public-tracker-sso-dashboard.jpg index 8d1ea88..94f48c9 100644 Binary files a/public/banners/one-hostname-public-tracker-sso-dashboard.jpg and b/public/banners/one-hostname-public-tracker-sso-dashboard.jpg differ diff --git a/public/banners/one-hostname-public-tracker-sso-dashboard.webp b/public/banners/one-hostname-public-tracker-sso-dashboard.webp index e2222bb..93aeb24 100644 Binary files a/public/banners/one-hostname-public-tracker-sso-dashboard.webp and b/public/banners/one-hostname-public-tracker-sso-dashboard.webp differ diff --git a/public/banners/one-prometheus-for-unraid-synology-and-a-vps.jpg b/public/banners/one-prometheus-for-unraid-synology-and-a-vps.jpg index bf3a9eb..3a78c5a 100644 Binary files a/public/banners/one-prometheus-for-unraid-synology-and-a-vps.jpg and b/public/banners/one-prometheus-for-unraid-synology-and-a-vps.jpg differ diff --git a/public/banners/one-prometheus-for-unraid-synology-and-a-vps.webp b/public/banners/one-prometheus-for-unraid-synology-and-a-vps.webp index bff3120..42e7fcd 100644 Binary files a/public/banners/one-prometheus-for-unraid-synology-and-a-vps.webp and b/public/banners/one-prometheus-for-unraid-synology-and-a-vps.webp differ diff --git a/public/banners/passbolt-hang-three-failure-modes.jpg b/public/banners/passbolt-hang-three-failure-modes.jpg index a47a6f5..32ab2f1 100644 Binary files a/public/banners/passbolt-hang-three-failure-modes.jpg and b/public/banners/passbolt-hang-three-failure-modes.jpg differ diff --git a/public/banners/passbolt-hang-three-failure-modes.webp b/public/banners/passbolt-hang-three-failure-modes.webp index 8375fa4..0ea4fb2 100644 Binary files a/public/banners/passbolt-hang-three-failure-modes.webp and b/public/banners/passbolt-hang-three-failure-modes.webp differ diff --git a/public/banners/patching-workbench-26-for-mariadb.jpg b/public/banners/patching-workbench-26-for-mariadb.jpg index e789f6b..e781418 100644 Binary files a/public/banners/patching-workbench-26-for-mariadb.jpg and b/public/banners/patching-workbench-26-for-mariadb.jpg differ diff --git a/public/banners/patching-workbench-26-for-mariadb.webp b/public/banners/patching-workbench-26-for-mariadb.webp index 6d31499..2fd2bb2 100644 Binary files a/public/banners/patching-workbench-26-for-mariadb.webp and b/public/banners/patching-workbench-26-for-mariadb.webp differ diff --git a/public/banners/putting-a-front-door-on-an-app-you-cant-modify.jpg b/public/banners/putting-a-front-door-on-an-app-you-cant-modify.jpg index 0bcf97a..877ca5f 100644 Binary files a/public/banners/putting-a-front-door-on-an-app-you-cant-modify.jpg and b/public/banners/putting-a-front-door-on-an-app-you-cant-modify.jpg differ diff --git a/public/banners/putting-a-front-door-on-an-app-you-cant-modify.webp b/public/banners/putting-a-front-door-on-an-app-you-cant-modify.webp index 233b404..0730df4 100644 Binary files a/public/banners/putting-a-front-door-on-an-app-you-cant-modify.webp and b/public/banners/putting-a-front-door-on-an-app-you-cant-modify.webp differ diff --git a/public/banners/read-only-nocodb-dashboard-for-a-remote-database.jpg b/public/banners/read-only-nocodb-dashboard-for-a-remote-database.jpg index 716b11d..83ce338 100644 Binary files a/public/banners/read-only-nocodb-dashboard-for-a-remote-database.jpg and b/public/banners/read-only-nocodb-dashboard-for-a-remote-database.jpg differ diff --git a/public/banners/read-only-nocodb-dashboard-for-a-remote-database.webp b/public/banners/read-only-nocodb-dashboard-for-a-remote-database.webp index b829a10..822235b 100644 Binary files a/public/banners/read-only-nocodb-dashboard-for-a-remote-database.webp and b/public/banners/read-only-nocodb-dashboard-for-a-remote-database.webp differ diff --git a/public/banners/reading-a-containers-own-api-docs.jpg b/public/banners/reading-a-containers-own-api-docs.jpg index e0adb8f..616e788 100644 Binary files a/public/banners/reading-a-containers-own-api-docs.jpg and b/public/banners/reading-a-containers-own-api-docs.jpg differ diff --git a/public/banners/reading-a-containers-own-api-docs.webp b/public/banners/reading-a-containers-own-api-docs.webp index 3a06b81..ff78657 100644 Binary files a/public/banners/reading-a-containers-own-api-docs.webp and b/public/banners/reading-a-containers-own-api-docs.webp differ diff --git a/public/banners/replacing-rdpguard-with-ipban.jpg b/public/banners/replacing-rdpguard-with-ipban.jpg index c61556c..d8de633 100644 Binary files a/public/banners/replacing-rdpguard-with-ipban.jpg and b/public/banners/replacing-rdpguard-with-ipban.jpg differ diff --git a/public/banners/replacing-rdpguard-with-ipban.webp b/public/banners/replacing-rdpguard-with-ipban.webp index 0dce66c..d9202b8 100644 Binary files a/public/banners/replacing-rdpguard-with-ipban.webp and b/public/banners/replacing-rdpguard-with-ipban.webp differ diff --git a/public/banners/running-production-infrastructure-solo.jpg b/public/banners/running-production-infrastructure-solo.jpg index 6c10ee3..ac5ed8a 100644 Binary files a/public/banners/running-production-infrastructure-solo.jpg and b/public/banners/running-production-infrastructure-solo.jpg differ diff --git a/public/banners/running-production-infrastructure-solo.webp b/public/banners/running-production-infrastructure-solo.webp index 6bac243..fc04a6a 100644 Binary files a/public/banners/running-production-infrastructure-solo.webp and b/public/banners/running-production-infrastructure-solo.webp differ diff --git a/public/banners/running-tts-as-a-service-with-token-sidecars.jpg b/public/banners/running-tts-as-a-service-with-token-sidecars.jpg index c53b507..30a175e 100644 Binary files a/public/banners/running-tts-as-a-service-with-token-sidecars.jpg and b/public/banners/running-tts-as-a-service-with-token-sidecars.jpg differ diff --git a/public/banners/running-tts-as-a-service-with-token-sidecars.webp b/public/banners/running-tts-as-a-service-with-token-sidecars.webp index 187fb86..34ddf36 100644 Binary files a/public/banners/running-tts-as-a-service-with-token-sidecars.webp and b/public/banners/running-tts-as-a-service-with-token-sidecars.webp differ diff --git a/public/banners/scraping-bot-walled-marketplace-warm-browser-session.jpg b/public/banners/scraping-bot-walled-marketplace-warm-browser-session.jpg index 4600d4a..ec7a253 100644 Binary files a/public/banners/scraping-bot-walled-marketplace-warm-browser-session.jpg and b/public/banners/scraping-bot-walled-marketplace-warm-browser-session.jpg differ diff --git a/public/banners/scraping-bot-walled-marketplace-warm-browser-session.webp b/public/banners/scraping-bot-walled-marketplace-warm-browser-session.webp index 33954a1..e43271b 100644 Binary files a/public/banners/scraping-bot-walled-marketplace-warm-browser-session.webp and b/public/banners/scraping-bot-walled-marketplace-warm-browser-session.webp differ diff --git a/public/banners/self-healing-digital-goods-entitlements.jpg b/public/banners/self-healing-digital-goods-entitlements.jpg index 12491ea..7b30457 100644 Binary files a/public/banners/self-healing-digital-goods-entitlements.jpg and b/public/banners/self-healing-digital-goods-entitlements.jpg differ diff --git a/public/banners/self-healing-digital-goods-entitlements.webp b/public/banners/self-healing-digital-goods-entitlements.webp index ca7ba13..00eec7b 100644 Binary files a/public/banners/self-healing-digital-goods-entitlements.webp and b/public/banners/self-healing-digital-goods-entitlements.webp differ diff --git a/public/banners/self-hosted-speech-to-text-api.jpg b/public/banners/self-hosted-speech-to-text-api.jpg index f1cee8f..284c135 100644 Binary files a/public/banners/self-hosted-speech-to-text-api.jpg and b/public/banners/self-hosted-speech-to-text-api.jpg differ diff --git a/public/banners/self-hosted-speech-to-text-api.webp b/public/banners/self-hosted-speech-to-text-api.webp index 405e448..d607c2e 100644 Binary files a/public/banners/self-hosted-speech-to-text-api.webp and b/public/banners/self-hosted-speech-to-text-api.webp differ diff --git a/public/banners/self-hosting-mem0-memory-stack.jpg b/public/banners/self-hosting-mem0-memory-stack.jpg index 91c0007..11add3f 100644 Binary files a/public/banners/self-hosting-mem0-memory-stack.jpg and b/public/banners/self-hosting-mem0-memory-stack.jpg differ diff --git a/public/banners/self-hosting-mem0-memory-stack.webp b/public/banners/self-hosting-mem0-memory-stack.webp index 05f5c8c..7719a7c 100644 Binary files a/public/banners/self-hosting-mem0-memory-stack.webp and b/public/banners/self-hosting-mem0-memory-stack.webp differ diff --git a/public/banners/shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg b/public/banners/shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg index e69f898..006b855 100644 Binary files a/public/banners/shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg and b/public/banners/shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg differ diff --git a/public/banners/shipping-an-ai-photo-editor-as-a-wordpress-plugin.webp b/public/banners/shipping-an-ai-photo-editor-as-a-wordpress-plugin.webp index 1bced7c..9e35020 100644 Binary files a/public/banners/shipping-an-ai-photo-editor-as-a-wordpress-plugin.webp and b/public/banners/shipping-an-ai-photo-editor-as-a-wordpress-plugin.webp differ diff --git a/public/banners/smartctl-exit-code-32-skips-the-disks-that-matter.jpg b/public/banners/smartctl-exit-code-32-skips-the-disks-that-matter.jpg index bb39cd3..2a615ce 100644 Binary files a/public/banners/smartctl-exit-code-32-skips-the-disks-that-matter.jpg and b/public/banners/smartctl-exit-code-32-skips-the-disks-that-matter.jpg differ diff --git a/public/banners/smartctl-exit-code-32-skips-the-disks-that-matter.webp b/public/banners/smartctl-exit-code-32-skips-the-disks-that-matter.webp index 61a892a..f7259d3 100644 Binary files a/public/banners/smartctl-exit-code-32-skips-the-disks-that-matter.webp and b/public/banners/smartctl-exit-code-32-skips-the-disks-that-matter.webp differ diff --git a/public/banners/space-reclamation-wasnt-stuck-it-was-waiting.jpg b/public/banners/space-reclamation-wasnt-stuck-it-was-waiting.jpg index 05e176f..40c7319 100644 Binary files a/public/banners/space-reclamation-wasnt-stuck-it-was-waiting.jpg and b/public/banners/space-reclamation-wasnt-stuck-it-was-waiting.jpg differ diff --git a/public/banners/space-reclamation-wasnt-stuck-it-was-waiting.webp b/public/banners/space-reclamation-wasnt-stuck-it-was-waiting.webp index 00ef24c..7c68ce5 100644 Binary files a/public/banners/space-reclamation-wasnt-stuck-it-was-waiting.webp and b/public/banners/space-reclamation-wasnt-stuck-it-was-waiting.webp differ diff --git a/public/banners/stop-writing-agent-prompts-for-deterministic-work.jpg b/public/banners/stop-writing-agent-prompts-for-deterministic-work.jpg index d59d786..f1cc8ef 100644 Binary files a/public/banners/stop-writing-agent-prompts-for-deterministic-work.jpg and b/public/banners/stop-writing-agent-prompts-for-deterministic-work.jpg differ diff --git a/public/banners/stop-writing-agent-prompts-for-deterministic-work.webp b/public/banners/stop-writing-agent-prompts-for-deterministic-work.webp index be90b62..e9624a2 100644 Binary files a/public/banners/stop-writing-agent-prompts-for-deterministic-work.webp and b/public/banners/stop-writing-agent-prompts-for-deterministic-work.webp differ diff --git a/public/banners/syncing-a-self-improving-ai-agent-across-machines.jpg b/public/banners/syncing-a-self-improving-ai-agent-across-machines.jpg index d6b7905..517e049 100644 Binary files a/public/banners/syncing-a-self-improving-ai-agent-across-machines.jpg and b/public/banners/syncing-a-self-improving-ai-agent-across-machines.jpg differ diff --git a/public/banners/syncing-a-self-improving-ai-agent-across-machines.webp b/public/banners/syncing-a-self-improving-ai-agent-across-machines.webp index 7554142..6caa3b8 100644 Binary files a/public/banners/syncing-a-self-improving-ai-agent-across-machines.webp and b/public/banners/syncing-a-self-improving-ai-agent-across-machines.webp differ diff --git a/public/banners/synology-api-401-with-the-correct-password.jpg b/public/banners/synology-api-401-with-the-correct-password.jpg index f0a27ed..7b7c5fc 100644 Binary files a/public/banners/synology-api-401-with-the-correct-password.jpg and b/public/banners/synology-api-401-with-the-correct-password.jpg differ diff --git a/public/banners/synology-api-401-with-the-correct-password.webp b/public/banners/synology-api-401-with-the-correct-password.webp index d74d8a5..410d89e 100644 Binary files a/public/banners/synology-api-401-with-the-correct-password.webp and b/public/banners/synology-api-401-with-the-correct-password.webp differ diff --git a/public/banners/synology-spreadsheet-api-is-a-container.jpg b/public/banners/synology-spreadsheet-api-is-a-container.jpg index 53921dd..fb15c88 100644 Binary files a/public/banners/synology-spreadsheet-api-is-a-container.jpg and b/public/banners/synology-spreadsheet-api-is-a-container.jpg differ diff --git a/public/banners/synology-spreadsheet-api-is-a-container.webp b/public/banners/synology-spreadsheet-api-is-a-container.webp index 9b06455..a4895e7 100644 Binary files a/public/banners/synology-spreadsheet-api-is-a-container.webp and b/public/banners/synology-spreadsheet-api-is-a-container.webp differ diff --git a/public/banners/that-dying-ssd-was-just-a-bad-sata-cable.jpg b/public/banners/that-dying-ssd-was-just-a-bad-sata-cable.jpg index db3291f..a934d8a 100644 Binary files a/public/banners/that-dying-ssd-was-just-a-bad-sata-cable.jpg and b/public/banners/that-dying-ssd-was-just-a-bad-sata-cable.jpg differ diff --git a/public/banners/that-dying-ssd-was-just-a-bad-sata-cable.webp b/public/banners/that-dying-ssd-was-just-a-bad-sata-cable.webp index 8a46efa..9b05d70 100644 Binary files a/public/banners/that-dying-ssd-was-just-a-bad-sata-cable.webp and b/public/banners/that-dying-ssd-was-just-a-bad-sata-cable.webp differ diff --git a/public/banners/the-cause-was-trim-not-the-ssds.jpg b/public/banners/the-cause-was-trim-not-the-ssds.jpg index c478527..124e026 100644 Binary files a/public/banners/the-cause-was-trim-not-the-ssds.jpg and b/public/banners/the-cause-was-trim-not-the-ssds.jpg differ diff --git a/public/banners/the-cause-was-trim-not-the-ssds.webp b/public/banners/the-cause-was-trim-not-the-ssds.webp index b600836..fef68af 100644 Binary files a/public/banners/the-cause-was-trim-not-the-ssds.webp and b/public/banners/the-cause-was-trim-not-the-ssds.webp differ diff --git a/public/banners/the-nocodb-attachment-that-wouldnt-update.jpg b/public/banners/the-nocodb-attachment-that-wouldnt-update.jpg index 49cdbb6..fbea8dc 100644 Binary files a/public/banners/the-nocodb-attachment-that-wouldnt-update.jpg and b/public/banners/the-nocodb-attachment-that-wouldnt-update.jpg differ diff --git a/public/banners/the-nocodb-attachment-that-wouldnt-update.webp b/public/banners/the-nocodb-attachment-that-wouldnt-update.webp index 9b02eb6..cadadad 100644 Binary files a/public/banners/the-nocodb-attachment-that-wouldnt-update.webp and b/public/banners/the-nocodb-attachment-that-wouldnt-update.webp differ diff --git a/public/banners/the-upstream-was-deleted-then-came-back-rewritten.jpg b/public/banners/the-upstream-was-deleted-then-came-back-rewritten.jpg index 646714e..e8dc7f4 100644 Binary files a/public/banners/the-upstream-was-deleted-then-came-back-rewritten.jpg and b/public/banners/the-upstream-was-deleted-then-came-back-rewritten.jpg differ diff --git a/public/banners/the-upstream-was-deleted-then-came-back-rewritten.webp b/public/banners/the-upstream-was-deleted-then-came-back-rewritten.webp index 9b2afac..2eafb55 100644 Binary files a/public/banners/the-upstream-was-deleted-then-came-back-rewritten.webp and b/public/banners/the-upstream-was-deleted-then-came-back-rewritten.webp differ diff --git a/public/banners/two-ways-a-javascript-file-stops-working-and-looks-fine.jpg b/public/banners/two-ways-a-javascript-file-stops-working-and-looks-fine.jpg index 1223f4c..0009521 100644 Binary files a/public/banners/two-ways-a-javascript-file-stops-working-and-looks-fine.jpg and b/public/banners/two-ways-a-javascript-file-stops-working-and-looks-fine.jpg differ diff --git a/public/banners/two-ways-a-javascript-file-stops-working-and-looks-fine.webp b/public/banners/two-ways-a-javascript-file-stops-working-and-looks-fine.webp index 5ca6cf0..41fcda8 100644 Binary files a/public/banners/two-ways-a-javascript-file-stops-working-and-looks-fine.webp and b/public/banners/two-ways-a-javascript-file-stops-working-and-looks-fine.webp differ diff --git a/public/banners/unraid-stop-array-hangs-on-swapfile.jpg b/public/banners/unraid-stop-array-hangs-on-swapfile.jpg index ea459bb..894a3f2 100644 Binary files a/public/banners/unraid-stop-array-hangs-on-swapfile.jpg and b/public/banners/unraid-stop-array-hangs-on-swapfile.jpg differ diff --git a/public/banners/unraid-stop-array-hangs-on-swapfile.webp b/public/banners/unraid-stop-array-hangs-on-swapfile.webp index 8cad791..333549b 100644 Binary files a/public/banners/unraid-stop-array-hangs-on-swapfile.webp and b/public/banners/unraid-stop-array-hangs-on-swapfile.webp differ diff --git a/public/banners/upgrading-codeigniter-46-to-47.jpg b/public/banners/upgrading-codeigniter-46-to-47.jpg index e618e2d..34ecec6 100644 Binary files a/public/banners/upgrading-codeigniter-46-to-47.jpg and b/public/banners/upgrading-codeigniter-46-to-47.jpg differ diff --git a/public/banners/upgrading-codeigniter-46-to-47.webp b/public/banners/upgrading-codeigniter-46-to-47.webp index e52e341..d4449d7 100644 Binary files a/public/banners/upgrading-codeigniter-46-to-47.webp and b/public/banners/upgrading-codeigniter-46-to-47.webp differ diff --git a/public/banners/using-chinese-llm-apis-from-malaysia.jpg b/public/banners/using-chinese-llm-apis-from-malaysia.jpg index 0fb4cc9..86fd9b5 100644 Binary files a/public/banners/using-chinese-llm-apis-from-malaysia.jpg and b/public/banners/using-chinese-llm-apis-from-malaysia.jpg differ diff --git a/public/banners/using-chinese-llm-apis-from-malaysia.webp b/public/banners/using-chinese-llm-apis-from-malaysia.webp index 3399270..1bdf264 100644 Binary files a/public/banners/using-chinese-llm-apis-from-malaysia.webp and b/public/banners/using-chinese-llm-apis-from-malaysia.webp differ diff --git a/public/banners/verifying-a-pdf-report-page-by-page.jpg b/public/banners/verifying-a-pdf-report-page-by-page.jpg index e082ce0..0a6592f 100644 Binary files a/public/banners/verifying-a-pdf-report-page-by-page.jpg and b/public/banners/verifying-a-pdf-report-page-by-page.jpg differ diff --git a/public/banners/verifying-a-pdf-report-page-by-page.webp b/public/banners/verifying-a-pdf-report-page-by-page.webp index f4f900b..82f92e7 100644 Binary files a/public/banners/verifying-a-pdf-report-page-by-page.webp and b/public/banners/verifying-a-pdf-report-page-by-page.webp differ diff --git a/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.jpg b/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.jpg index 1dee25b..dc36b53 100644 Binary files a/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.jpg and b/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.jpg differ diff --git a/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.webp b/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.webp index 107a376..8272220 100644 Binary files a/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.webp and b/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.webp differ diff --git a/public/banners/when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg b/public/banners/when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg index 0881eb2..26f1b5e 100644 Binary files a/public/banners/when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg and b/public/banners/when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg differ diff --git a/public/banners/when-smart-says-healthy-but-your-raid-is-corrupting-data.webp b/public/banners/when-smart-says-healthy-but-your-raid-is-corrupting-data.webp index e2c52fc..53b426d 100644 Binary files a/public/banners/when-smart-says-healthy-but-your-raid-is-corrupting-data.webp and b/public/banners/when-smart-says-healthy-but-your-raid-is-corrupting-data.webp differ diff --git a/public/banners/why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg b/public/banners/why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg index 6f91c90..1d6a681 100644 Binary files a/public/banners/why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg and b/public/banners/why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg differ diff --git a/public/banners/why-500000-lines-of-commit-churn-only-left-230000-in-production.webp b/public/banners/why-500000-lines-of-commit-churn-only-left-230000-in-production.webp index f683bea..d210d81 100644 Binary files a/public/banners/why-500000-lines-of-commit-churn-only-left-230000-in-production.webp and b/public/banners/why-500000-lines-of-commit-churn-only-left-230000-in-production.webp differ diff --git a/public/banners/why-chrome-forgets-its-tabs-in-a-container.jpg b/public/banners/why-chrome-forgets-its-tabs-in-a-container.jpg index b705193..a65c40a 100644 Binary files a/public/banners/why-chrome-forgets-its-tabs-in-a-container.jpg and b/public/banners/why-chrome-forgets-its-tabs-in-a-container.jpg differ diff --git a/public/banners/why-chrome-forgets-its-tabs-in-a-container.webp b/public/banners/why-chrome-forgets-its-tabs-in-a-container.webp index 4992e58..ae81a90 100644 Binary files a/public/banners/why-chrome-forgets-its-tabs-in-a-container.webp and b/public/banners/why-chrome-forgets-its-tabs-in-a-container.webp differ diff --git a/public/banners/why-i-still-bought-a-local-gpu.jpg b/public/banners/why-i-still-bought-a-local-gpu.jpg index dbc73b1..9a80663 100644 Binary files a/public/banners/why-i-still-bought-a-local-gpu.jpg and b/public/banners/why-i-still-bought-a-local-gpu.jpg differ diff --git a/public/banners/why-i-still-bought-a-local-gpu.webp b/public/banners/why-i-still-bought-a-local-gpu.webp index 065aead..80cce75 100644 Binary files a/public/banners/why-i-still-bought-a-local-gpu.webp and b/public/banners/why-i-still-bought-a-local-gpu.webp differ diff --git a/public/banners/why-my-on-chain-nft-art-changed-on-windows.jpg b/public/banners/why-my-on-chain-nft-art-changed-on-windows.jpg index 6103b1e..7f9b55f 100644 Binary files a/public/banners/why-my-on-chain-nft-art-changed-on-windows.jpg and b/public/banners/why-my-on-chain-nft-art-changed-on-windows.jpg differ diff --git a/public/banners/why-my-on-chain-nft-art-changed-on-windows.webp b/public/banners/why-my-on-chain-nft-art-changed-on-windows.webp index 79c6204..abfd866 100644 Binary files a/public/banners/why-my-on-chain-nft-art-changed-on-windows.webp and b/public/banners/why-my-on-chain-nft-art-changed-on-windows.webp differ diff --git a/public/banners/why-telegram-bot-notifications-die.jpg b/public/banners/why-telegram-bot-notifications-die.jpg index 0a55f78..0e64b64 100644 Binary files a/public/banners/why-telegram-bot-notifications-die.jpg and b/public/banners/why-telegram-bot-notifications-die.jpg differ diff --git a/public/banners/why-telegram-bot-notifications-die.webp b/public/banners/why-telegram-bot-notifications-die.webp index 00da07c..4c9a2c7 100644 Binary files a/public/banners/why-telegram-bot-notifications-die.webp and b/public/banners/why-telegram-bot-notifications-die.webp differ diff --git a/public/banners/why-your-cdp-clicks-silently-fail.jpg b/public/banners/why-your-cdp-clicks-silently-fail.jpg index 7efe655..4ebd581 100644 Binary files a/public/banners/why-your-cdp-clicks-silently-fail.jpg and b/public/banners/why-your-cdp-clicks-silently-fail.jpg differ diff --git a/public/banners/why-your-cdp-clicks-silently-fail.webp b/public/banners/why-your-cdp-clicks-silently-fail.webp index fbc29b4..41f9857 100644 Binary files a/public/banners/why-your-cdp-clicks-silently-fail.webp and b/public/banners/why-your-cdp-clicks-silently-fail.webp differ diff --git a/public/banners/why-your-grafana-dashboard-shows-no-data.jpg b/public/banners/why-your-grafana-dashboard-shows-no-data.jpg index aab1631..772f4ce 100644 Binary files a/public/banners/why-your-grafana-dashboard-shows-no-data.jpg and b/public/banners/why-your-grafana-dashboard-shows-no-data.jpg differ diff --git a/public/banners/why-your-grafana-dashboard-shows-no-data.webp b/public/banners/why-your-grafana-dashboard-shows-no-data.webp index 667ac5f..eb43e91 100644 Binary files a/public/banners/why-your-grafana-dashboard-shows-no-data.webp and b/public/banners/why-your-grafana-dashboard-shows-no-data.webp differ diff --git a/public/banners/why-your-headless-browser-cant-scrape-everything.jpg b/public/banners/why-your-headless-browser-cant-scrape-everything.jpg index 7c39cfa..33b5c97 100644 Binary files a/public/banners/why-your-headless-browser-cant-scrape-everything.jpg and b/public/banners/why-your-headless-browser-cant-scrape-everything.jpg differ diff --git a/public/banners/why-your-headless-browser-cant-scrape-everything.webp b/public/banners/why-your-headless-browser-cant-scrape-everything.webp index dfdf600..d9f829d 100644 Binary files a/public/banners/why-your-headless-browser-cant-scrape-everything.webp and b/public/banners/why-your-headless-browser-cant-scrape-everything.webp differ diff --git a/public/banners/your-disk-full-alert-is-lying.jpg b/public/banners/your-disk-full-alert-is-lying.jpg index 6ad4213..479a8b5 100644 Binary files a/public/banners/your-disk-full-alert-is-lying.jpg and b/public/banners/your-disk-full-alert-is-lying.jpg differ diff --git a/public/banners/your-disk-full-alert-is-lying.webp b/public/banners/your-disk-full-alert-is-lying.webp index 982e4eb..016247e 100644 Binary files a/public/banners/your-disk-full-alert-is-lying.webp and b/public/banners/your-disk-full-alert-is-lying.webp differ diff --git a/public/og/adding-a-domain-to-someone-elses-mail-server.jpg b/public/og/adding-a-domain-to-someone-elses-mail-server.jpg index e252679..010daad 100644 Binary files a/public/og/adding-a-domain-to-someone-elses-mail-server.jpg and b/public/og/adding-a-domain-to-someone-elses-mail-server.jpg differ diff --git a/public/og/adding-english-mode-to-a-chinese-only-web-app.jpg b/public/og/adding-english-mode-to-a-chinese-only-web-app.jpg index c756dd6..9a7d96c 100644 Binary files a/public/og/adding-english-mode-to-a-chinese-only-web-app.jpg and b/public/og/adding-english-mode-to-a-chinese-only-web-app.jpg differ diff --git a/public/og/ai-furniture-compositing-with-flux-kontext.jpg b/public/og/ai-furniture-compositing-with-flux-kontext.jpg index baa8b33..a8a9cce 100644 Binary files a/public/og/ai-furniture-compositing-with-flux-kontext.jpg and b/public/og/ai-furniture-compositing-with-flux-kontext.jpg differ diff --git a/public/og/authentik-css-greater-than-bug.jpg b/public/og/authentik-css-greater-than-bug.jpg index 4d7d1de..3e084da 100644 Binary files a/public/og/authentik-css-greater-than-bug.jpg and b/public/og/authentik-css-greater-than-bug.jpg differ diff --git a/public/og/authentik-forward-auth-gate-wasnt-live.jpg b/public/og/authentik-forward-auth-gate-wasnt-live.jpg index 41d9dbf..74aa289 100644 Binary files a/public/og/authentik-forward-auth-gate-wasnt-live.jpg and b/public/og/authentik-forward-auth-gate-wasnt-live.jpg differ diff --git a/public/og/authentik-major-upgrade-gotchas.jpg b/public/og/authentik-major-upgrade-gotchas.jpg index 190409b..6fef087 100644 Binary files a/public/og/authentik-major-upgrade-gotchas.jpg and b/public/og/authentik-major-upgrade-gotchas.jpg differ diff --git a/public/og/automating-cyberpanel-without-the-ui.jpg b/public/og/automating-cyberpanel-without-the-ui.jpg index 4120415..8d85e76 100644 Binary files a/public/og/automating-cyberpanel-without-the-ui.jpg and b/public/og/automating-cyberpanel-without-the-ui.jpg differ diff --git a/public/og/best-ai-video-generators-2026.jpg b/public/og/best-ai-video-generators-2026.jpg index f7e6e0a..d7eacd1 100644 Binary files a/public/og/best-ai-video-generators-2026.jpg and b/public/og/best-ai-video-generators-2026.jpg differ diff --git a/public/og/calibrating-intel-quick-sync-hevc-quality.jpg b/public/og/calibrating-intel-quick-sync-hevc-quality.jpg index 5d5dab4..58a33d9 100644 Binary files a/public/og/calibrating-intel-quick-sync-hevc-quality.jpg and b/public/og/calibrating-intel-quick-sync-hevc-quality.jpg differ diff --git a/public/og/chainlink-vrf-v2-lottery-contract.jpg b/public/og/chainlink-vrf-v2-lottery-contract.jpg index 9cd1acb..689f700 100644 Binary files a/public/og/chainlink-vrf-v2-lottery-contract.jpg and b/public/og/chainlink-vrf-v2-lottery-contract.jpg differ diff --git a/public/og/docker-reported-exit-0-the-oom-killer-disagreed.jpg b/public/og/docker-reported-exit-0-the-oom-killer-disagreed.jpg index f331d8d..112081d 100644 Binary files a/public/og/docker-reported-exit-0-the-oom-killer-disagreed.jpg and b/public/og/docker-reported-exit-0-the-oom-killer-disagreed.jpg differ diff --git a/public/og/does-hevc-actually-shrink-your-files.jpg b/public/og/does-hevc-actually-shrink-your-files.jpg index 7ab940f..9d2a299 100644 Binary files a/public/og/does-hevc-actually-shrink-your-files.jpg and b/public/og/does-hevc-actually-shrink-your-files.jpg differ diff --git a/public/og/embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg b/public/og/embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg index b8db827..ec37d8b 100644 Binary files a/public/og/embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg and b/public/og/embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg differ diff --git a/public/og/every-player-stuttered-the-file-was-fine.jpg b/public/og/every-player-stuttered-the-file-was-fine.jpg index 0aaa661..1508a80 100644 Binary files a/public/og/every-player-stuttered-the-file-was-fine.jpg and b/public/og/every-player-stuttered-the-file-was-fine.jpg differ diff --git a/public/og/five-step-ai-roadmap-what-i-actually-run.jpg b/public/og/five-step-ai-roadmap-what-i-actually-run.jpg index b865f1f..741e384 100644 Binary files a/public/og/five-step-ai-roadmap-what-i-actually-run.jpg and b/public/og/five-step-ai-roadmap-what-i-actually-run.jpg differ diff --git a/public/og/fully-on-chain-svg-nfts.jpg b/public/og/fully-on-chain-svg-nfts.jpg index a782480..fdeef7e 100644 Binary files a/public/og/fully-on-chain-svg-nfts.jpg and b/public/og/fully-on-chain-svg-nfts.jpg differ diff --git a/public/og/hardening-a-tor-onion-service.jpg b/public/og/hardening-a-tor-onion-service.jpg index 8606fa4..bd79995 100644 Binary files a/public/og/hardening-a-tor-onion-service.jpg and b/public/og/hardening-a-tor-onion-service.jpg differ diff --git a/public/og/hello-world.jpg b/public/og/hello-world.jpg index c78d47f..352da52 100644 Binary files a/public/og/hello-world.jpg and b/public/og/hello-world.jpg differ diff --git a/public/og/how-i-built-the-digikedai-telegram-bot.jpg b/public/og/how-i-built-the-digikedai-telegram-bot.jpg index a720a1c..f506839 100644 Binary files a/public/og/how-i-built-the-digikedai-telegram-bot.jpg and b/public/og/how-i-built-the-digikedai-telegram-bot.jpg differ diff --git a/public/og/how-i-host-this-blog.jpg b/public/og/how-i-host-this-blog.jpg index cbad7a7..71b18a4 100644 Binary files a/public/og/how-i-host-this-blog.jpg and b/public/og/how-i-host-this-blog.jpg differ diff --git a/public/og/how-i-made-my-own-songs-with-suno-ai.jpg b/public/og/how-i-made-my-own-songs-with-suno-ai.jpg index de65a0a..e53c131 100644 Binary files a/public/og/how-i-made-my-own-songs-with-suno-ai.jpg and b/public/og/how-i-made-my-own-songs-with-suno-ai.jpg differ diff --git a/public/og/how-i-vetted-20-vps-providers-with-parallel-subagents.jpg b/public/og/how-i-vetted-20-vps-providers-with-parallel-subagents.jpg index 6b4985f..521846a 100644 Binary files a/public/og/how-i-vetted-20-vps-providers-with-parallel-subagents.jpg and b/public/og/how-i-vetted-20-vps-providers-with-parallel-subagents.jpg differ diff --git a/public/og/how-to-verify-a-hosting-provider-before-you-buy.jpg b/public/og/how-to-verify-a-hosting-provider-before-you-buy.jpg index 8a777bf..bbef04c 100644 Binary files a/public/og/how-to-verify-a-hosting-provider-before-you-buy.jpg and b/public/og/how-to-verify-a-hosting-provider-before-you-buy.jpg differ diff --git a/public/og/i-let-an-agent-manage-my-shopee-vouchers.jpg b/public/og/i-let-an-agent-manage-my-shopee-vouchers.jpg index 9d0caf7..a60c0ee 100644 Binary files a/public/og/i-let-an-agent-manage-my-shopee-vouchers.jpg and b/public/og/i-let-an-agent-manage-my-shopee-vouchers.jpg differ diff --git a/public/og/it-reported-success-nothing-had-changed.jpg b/public/og/it-reported-success-nothing-had-changed.jpg index 5892afc..0e3b83c 100644 Binary files a/public/og/it-reported-success-nothing-had-changed.jpg and b/public/og/it-reported-success-nothing-had-changed.jpg differ diff --git a/public/og/jpa-version-field-lost-update.jpg b/public/og/jpa-version-field-lost-update.jpg index 23226dd..da5b4fd 100644 Binary files a/public/og/jpa-version-field-lost-update.jpg and b/public/og/jpa-version-field-lost-update.jpg differ diff --git a/public/og/loop-engineering-without-a-coding-agent.jpg b/public/og/loop-engineering-without-a-coding-agent.jpg index 84a96d4..6133955 100644 Binary files a/public/og/loop-engineering-without-a-coding-agent.jpg and b/public/og/loop-engineering-without-a-coding-agent.jpg differ diff --git a/public/og/migrating-codeigniter-iis-to-openlitespeed.jpg b/public/og/migrating-codeigniter-iis-to-openlitespeed.jpg index 54fa935..14401a8 100644 Binary files a/public/og/migrating-codeigniter-iis-to-openlitespeed.jpg and b/public/og/migrating-codeigniter-iis-to-openlitespeed.jpg differ diff --git a/public/og/my-backup-was-using-someone-elses-api-quota.jpg b/public/og/my-backup-was-using-someone-elses-api-quota.jpg index c15b438..43fd4d4 100644 Binary files a/public/og/my-backup-was-using-someone-elses-api-quota.jpg and b/public/og/my-backup-was-using-someone-elses-api-quota.jpg differ diff --git a/public/og/n8n-v1-to-v2-upgrade-gotchas.jpg b/public/og/n8n-v1-to-v2-upgrade-gotchas.jpg index 70df640..2afc59b 100644 Binary files a/public/og/n8n-v1-to-v2-upgrade-gotchas.jpg and b/public/og/n8n-v1-to-v2-upgrade-gotchas.jpg differ diff --git a/public/og/nocodb-sso-is-a-licensed-feature.jpg b/public/og/nocodb-sso-is-a-licensed-feature.jpg index f7bcadb..625ed4e 100644 Binary files a/public/og/nocodb-sso-is-a-licensed-feature.jpg and b/public/og/nocodb-sso-is-a-licensed-feature.jpg differ diff --git a/public/og/one-hostname-public-tracker-sso-dashboard.jpg b/public/og/one-hostname-public-tracker-sso-dashboard.jpg index 69c305e..1437fad 100644 Binary files a/public/og/one-hostname-public-tracker-sso-dashboard.jpg and b/public/og/one-hostname-public-tracker-sso-dashboard.jpg differ diff --git a/public/og/one-prometheus-for-unraid-synology-and-a-vps.jpg b/public/og/one-prometheus-for-unraid-synology-and-a-vps.jpg index cbf5d01..a007b0e 100644 Binary files a/public/og/one-prometheus-for-unraid-synology-and-a-vps.jpg and b/public/og/one-prometheus-for-unraid-synology-and-a-vps.jpg differ diff --git a/public/og/passbolt-hang-three-failure-modes.jpg b/public/og/passbolt-hang-three-failure-modes.jpg index d116fc4..3df3235 100644 Binary files a/public/og/passbolt-hang-three-failure-modes.jpg and b/public/og/passbolt-hang-three-failure-modes.jpg differ diff --git a/public/og/patching-workbench-26-for-mariadb.jpg b/public/og/patching-workbench-26-for-mariadb.jpg index 90aa208..0ff3a91 100644 Binary files a/public/og/patching-workbench-26-for-mariadb.jpg and b/public/og/patching-workbench-26-for-mariadb.jpg differ diff --git a/public/og/putting-a-front-door-on-an-app-you-cant-modify.jpg b/public/og/putting-a-front-door-on-an-app-you-cant-modify.jpg index f738a38..381c143 100644 Binary files a/public/og/putting-a-front-door-on-an-app-you-cant-modify.jpg and b/public/og/putting-a-front-door-on-an-app-you-cant-modify.jpg differ diff --git a/public/og/read-only-nocodb-dashboard-for-a-remote-database.jpg b/public/og/read-only-nocodb-dashboard-for-a-remote-database.jpg index 9f6af7d..eeda65b 100644 Binary files a/public/og/read-only-nocodb-dashboard-for-a-remote-database.jpg and b/public/og/read-only-nocodb-dashboard-for-a-remote-database.jpg differ diff --git a/public/og/reading-a-containers-own-api-docs.jpg b/public/og/reading-a-containers-own-api-docs.jpg index 04dccba..8cd632a 100644 Binary files a/public/og/reading-a-containers-own-api-docs.jpg and b/public/og/reading-a-containers-own-api-docs.jpg differ diff --git a/public/og/replacing-rdpguard-with-ipban.jpg b/public/og/replacing-rdpguard-with-ipban.jpg index e715d64..0b4f371 100644 Binary files a/public/og/replacing-rdpguard-with-ipban.jpg and b/public/og/replacing-rdpguard-with-ipban.jpg differ diff --git a/public/og/running-production-infrastructure-solo.jpg b/public/og/running-production-infrastructure-solo.jpg index 2018774..526233b 100644 Binary files a/public/og/running-production-infrastructure-solo.jpg and b/public/og/running-production-infrastructure-solo.jpg differ diff --git a/public/og/running-tts-as-a-service-with-token-sidecars.jpg b/public/og/running-tts-as-a-service-with-token-sidecars.jpg index ba6e812..ddd61bb 100644 Binary files a/public/og/running-tts-as-a-service-with-token-sidecars.jpg and b/public/og/running-tts-as-a-service-with-token-sidecars.jpg differ diff --git a/public/og/scraping-bot-walled-marketplace-warm-browser-session.jpg b/public/og/scraping-bot-walled-marketplace-warm-browser-session.jpg index fe2ec8a..7482b02 100644 Binary files a/public/og/scraping-bot-walled-marketplace-warm-browser-session.jpg and b/public/og/scraping-bot-walled-marketplace-warm-browser-session.jpg differ diff --git a/public/og/self-healing-digital-goods-entitlements.jpg b/public/og/self-healing-digital-goods-entitlements.jpg index a9b5f5f..a041522 100644 Binary files a/public/og/self-healing-digital-goods-entitlements.jpg and b/public/og/self-healing-digital-goods-entitlements.jpg differ diff --git a/public/og/self-hosted-speech-to-text-api.jpg b/public/og/self-hosted-speech-to-text-api.jpg index 96279bb..a97bd88 100644 Binary files a/public/og/self-hosted-speech-to-text-api.jpg and b/public/og/self-hosted-speech-to-text-api.jpg differ diff --git a/public/og/self-hosting-mem0-memory-stack.jpg b/public/og/self-hosting-mem0-memory-stack.jpg index 6fa2c7e..8abf6c6 100644 Binary files a/public/og/self-hosting-mem0-memory-stack.jpg and b/public/og/self-hosting-mem0-memory-stack.jpg differ diff --git a/public/og/shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg b/public/og/shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg index fb0c8af..b0c21ba 100644 Binary files a/public/og/shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg and b/public/og/shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg differ diff --git a/public/og/smartctl-exit-code-32-skips-the-disks-that-matter.jpg b/public/og/smartctl-exit-code-32-skips-the-disks-that-matter.jpg index ad0d868..851ba94 100644 Binary files a/public/og/smartctl-exit-code-32-skips-the-disks-that-matter.jpg and b/public/og/smartctl-exit-code-32-skips-the-disks-that-matter.jpg differ diff --git a/public/og/space-reclamation-wasnt-stuck-it-was-waiting.jpg b/public/og/space-reclamation-wasnt-stuck-it-was-waiting.jpg index a67f367..0691869 100644 Binary files a/public/og/space-reclamation-wasnt-stuck-it-was-waiting.jpg and b/public/og/space-reclamation-wasnt-stuck-it-was-waiting.jpg differ diff --git a/public/og/stop-writing-agent-prompts-for-deterministic-work.jpg b/public/og/stop-writing-agent-prompts-for-deterministic-work.jpg index 99580e5..29e4bf0 100644 Binary files a/public/og/stop-writing-agent-prompts-for-deterministic-work.jpg and b/public/og/stop-writing-agent-prompts-for-deterministic-work.jpg differ diff --git a/public/og/syncing-a-self-improving-ai-agent-across-machines.jpg b/public/og/syncing-a-self-improving-ai-agent-across-machines.jpg index ecd9032..a237d34 100644 Binary files a/public/og/syncing-a-self-improving-ai-agent-across-machines.jpg and b/public/og/syncing-a-self-improving-ai-agent-across-machines.jpg differ diff --git a/public/og/synology-api-401-with-the-correct-password.jpg b/public/og/synology-api-401-with-the-correct-password.jpg index 6b5b133..0f71e8d 100644 Binary files a/public/og/synology-api-401-with-the-correct-password.jpg and b/public/og/synology-api-401-with-the-correct-password.jpg differ diff --git a/public/og/synology-spreadsheet-api-is-a-container.jpg b/public/og/synology-spreadsheet-api-is-a-container.jpg index 59cb081..8526e1c 100644 Binary files a/public/og/synology-spreadsheet-api-is-a-container.jpg and b/public/og/synology-spreadsheet-api-is-a-container.jpg differ diff --git a/public/og/that-dying-ssd-was-just-a-bad-sata-cable.jpg b/public/og/that-dying-ssd-was-just-a-bad-sata-cable.jpg index 3e37778..085c05e 100644 Binary files a/public/og/that-dying-ssd-was-just-a-bad-sata-cable.jpg and b/public/og/that-dying-ssd-was-just-a-bad-sata-cable.jpg differ diff --git a/public/og/the-cause-was-trim-not-the-ssds.jpg b/public/og/the-cause-was-trim-not-the-ssds.jpg index bbf6fb5..2fa5998 100644 Binary files a/public/og/the-cause-was-trim-not-the-ssds.jpg and b/public/og/the-cause-was-trim-not-the-ssds.jpg differ diff --git a/public/og/the-nocodb-attachment-that-wouldnt-update.jpg b/public/og/the-nocodb-attachment-that-wouldnt-update.jpg index d61eeeb..29e71be 100644 Binary files a/public/og/the-nocodb-attachment-that-wouldnt-update.jpg and b/public/og/the-nocodb-attachment-that-wouldnt-update.jpg differ diff --git a/public/og/the-upstream-was-deleted-then-came-back-rewritten.jpg b/public/og/the-upstream-was-deleted-then-came-back-rewritten.jpg index 32c841f..0c4e916 100644 Binary files a/public/og/the-upstream-was-deleted-then-came-back-rewritten.jpg and b/public/og/the-upstream-was-deleted-then-came-back-rewritten.jpg differ diff --git a/public/og/thumb/adding-a-domain-to-someone-elses-mail-server-400.webp b/public/og/thumb/adding-a-domain-to-someone-elses-mail-server-400.webp index 42f02cb..8cba21e 100644 Binary files a/public/og/thumb/adding-a-domain-to-someone-elses-mail-server-400.webp and b/public/og/thumb/adding-a-domain-to-someone-elses-mail-server-400.webp differ diff --git a/public/og/thumb/adding-a-domain-to-someone-elses-mail-server-800.webp b/public/og/thumb/adding-a-domain-to-someone-elses-mail-server-800.webp index d3664fc..3470060 100644 Binary files a/public/og/thumb/adding-a-domain-to-someone-elses-mail-server-800.webp and b/public/og/thumb/adding-a-domain-to-someone-elses-mail-server-800.webp differ diff --git a/public/og/thumb/adding-english-mode-to-a-chinese-only-web-app-400.webp b/public/og/thumb/adding-english-mode-to-a-chinese-only-web-app-400.webp index eaf374c..ce4ffbc 100644 Binary files a/public/og/thumb/adding-english-mode-to-a-chinese-only-web-app-400.webp and b/public/og/thumb/adding-english-mode-to-a-chinese-only-web-app-400.webp differ diff --git a/public/og/thumb/adding-english-mode-to-a-chinese-only-web-app-800.webp b/public/og/thumb/adding-english-mode-to-a-chinese-only-web-app-800.webp index 5a22876..7a2c192 100644 Binary files a/public/og/thumb/adding-english-mode-to-a-chinese-only-web-app-800.webp and b/public/og/thumb/adding-english-mode-to-a-chinese-only-web-app-800.webp differ diff --git a/public/og/thumb/ai-furniture-compositing-with-flux-kontext-400.webp b/public/og/thumb/ai-furniture-compositing-with-flux-kontext-400.webp index 425c4f9..afa438d 100644 Binary files a/public/og/thumb/ai-furniture-compositing-with-flux-kontext-400.webp and b/public/og/thumb/ai-furniture-compositing-with-flux-kontext-400.webp differ diff --git a/public/og/thumb/ai-furniture-compositing-with-flux-kontext-800.webp b/public/og/thumb/ai-furniture-compositing-with-flux-kontext-800.webp index 947c90e..181ea01 100644 Binary files a/public/og/thumb/ai-furniture-compositing-with-flux-kontext-800.webp and b/public/og/thumb/ai-furniture-compositing-with-flux-kontext-800.webp differ diff --git a/public/og/thumb/authentik-css-greater-than-bug-400.webp b/public/og/thumb/authentik-css-greater-than-bug-400.webp index 91920f0..fe3891b 100644 Binary files a/public/og/thumb/authentik-css-greater-than-bug-400.webp and b/public/og/thumb/authentik-css-greater-than-bug-400.webp differ diff --git a/public/og/thumb/authentik-css-greater-than-bug-800.webp b/public/og/thumb/authentik-css-greater-than-bug-800.webp index 532a8bd..fe18b66 100644 Binary files a/public/og/thumb/authentik-css-greater-than-bug-800.webp and b/public/og/thumb/authentik-css-greater-than-bug-800.webp differ diff --git a/public/og/thumb/authentik-forward-auth-gate-wasnt-live-400.webp b/public/og/thumb/authentik-forward-auth-gate-wasnt-live-400.webp index 73a493d..f068ae9 100644 Binary files a/public/og/thumb/authentik-forward-auth-gate-wasnt-live-400.webp and b/public/og/thumb/authentik-forward-auth-gate-wasnt-live-400.webp differ diff --git a/public/og/thumb/authentik-forward-auth-gate-wasnt-live-800.webp b/public/og/thumb/authentik-forward-auth-gate-wasnt-live-800.webp index 59699ce..64b29d0 100644 Binary files a/public/og/thumb/authentik-forward-auth-gate-wasnt-live-800.webp and b/public/og/thumb/authentik-forward-auth-gate-wasnt-live-800.webp differ diff --git a/public/og/thumb/authentik-major-upgrade-gotchas-400.webp b/public/og/thumb/authentik-major-upgrade-gotchas-400.webp index fdb5279..ad35989 100644 Binary files a/public/og/thumb/authentik-major-upgrade-gotchas-400.webp and b/public/og/thumb/authentik-major-upgrade-gotchas-400.webp differ diff --git a/public/og/thumb/authentik-major-upgrade-gotchas-800.webp b/public/og/thumb/authentik-major-upgrade-gotchas-800.webp index 295c9c0..c5c8dec 100644 Binary files a/public/og/thumb/authentik-major-upgrade-gotchas-800.webp and b/public/og/thumb/authentik-major-upgrade-gotchas-800.webp differ diff --git a/public/og/thumb/automating-cyberpanel-without-the-ui-400.webp b/public/og/thumb/automating-cyberpanel-without-the-ui-400.webp index 8a83c1c..efd07de 100644 Binary files a/public/og/thumb/automating-cyberpanel-without-the-ui-400.webp and b/public/og/thumb/automating-cyberpanel-without-the-ui-400.webp differ diff --git a/public/og/thumb/automating-cyberpanel-without-the-ui-800.webp b/public/og/thumb/automating-cyberpanel-without-the-ui-800.webp index de1948e..e8360ee 100644 Binary files a/public/og/thumb/automating-cyberpanel-without-the-ui-800.webp and b/public/og/thumb/automating-cyberpanel-without-the-ui-800.webp differ diff --git a/public/og/thumb/best-ai-video-generators-2026-400.webp b/public/og/thumb/best-ai-video-generators-2026-400.webp index 9c85db6..d861f15 100644 Binary files a/public/og/thumb/best-ai-video-generators-2026-400.webp and b/public/og/thumb/best-ai-video-generators-2026-400.webp differ diff --git a/public/og/thumb/best-ai-video-generators-2026-800.webp b/public/og/thumb/best-ai-video-generators-2026-800.webp index 45efe5f..1058305 100644 Binary files a/public/og/thumb/best-ai-video-generators-2026-800.webp and b/public/og/thumb/best-ai-video-generators-2026-800.webp differ diff --git a/public/og/thumb/calibrating-intel-quick-sync-hevc-quality-400.webp b/public/og/thumb/calibrating-intel-quick-sync-hevc-quality-400.webp index e514707..3072738 100644 Binary files a/public/og/thumb/calibrating-intel-quick-sync-hevc-quality-400.webp and b/public/og/thumb/calibrating-intel-quick-sync-hevc-quality-400.webp differ diff --git a/public/og/thumb/calibrating-intel-quick-sync-hevc-quality-800.webp b/public/og/thumb/calibrating-intel-quick-sync-hevc-quality-800.webp index 9b53cb6..0c0609d 100644 Binary files a/public/og/thumb/calibrating-intel-quick-sync-hevc-quality-800.webp and b/public/og/thumb/calibrating-intel-quick-sync-hevc-quality-800.webp differ diff --git a/public/og/thumb/chainlink-vrf-v2-lottery-contract-400.webp b/public/og/thumb/chainlink-vrf-v2-lottery-contract-400.webp index bd37756..b6042db 100644 Binary files a/public/og/thumb/chainlink-vrf-v2-lottery-contract-400.webp and b/public/og/thumb/chainlink-vrf-v2-lottery-contract-400.webp differ diff --git a/public/og/thumb/chainlink-vrf-v2-lottery-contract-800.webp b/public/og/thumb/chainlink-vrf-v2-lottery-contract-800.webp index 3c8edd9..73c329b 100644 Binary files a/public/og/thumb/chainlink-vrf-v2-lottery-contract-800.webp and b/public/og/thumb/chainlink-vrf-v2-lottery-contract-800.webp differ diff --git a/public/og/thumb/docker-reported-exit-0-the-oom-killer-disagreed-400.webp b/public/og/thumb/docker-reported-exit-0-the-oom-killer-disagreed-400.webp index a4be48f..72c2e81 100644 Binary files a/public/og/thumb/docker-reported-exit-0-the-oom-killer-disagreed-400.webp and b/public/og/thumb/docker-reported-exit-0-the-oom-killer-disagreed-400.webp differ diff --git a/public/og/thumb/docker-reported-exit-0-the-oom-killer-disagreed-800.webp b/public/og/thumb/docker-reported-exit-0-the-oom-killer-disagreed-800.webp index 2819bc8..192a159 100644 Binary files a/public/og/thumb/docker-reported-exit-0-the-oom-killer-disagreed-800.webp and b/public/og/thumb/docker-reported-exit-0-the-oom-killer-disagreed-800.webp differ diff --git a/public/og/thumb/does-hevc-actually-shrink-your-files-400.webp b/public/og/thumb/does-hevc-actually-shrink-your-files-400.webp index c696562..ec2a769 100644 Binary files a/public/og/thumb/does-hevc-actually-shrink-your-files-400.webp and b/public/og/thumb/does-hevc-actually-shrink-your-files-400.webp differ diff --git a/public/og/thumb/does-hevc-actually-shrink-your-files-800.webp b/public/og/thumb/does-hevc-actually-shrink-your-files-800.webp index eca60cf..41c8aef 100644 Binary files a/public/og/thumb/does-hevc-actually-shrink-your-files-800.webp and b/public/og/thumb/does-hevc-actually-shrink-your-files-800.webp differ diff --git a/public/og/thumb/embedding-fonts-so-a-pdf-looks-the-same-everywhere-400.webp b/public/og/thumb/embedding-fonts-so-a-pdf-looks-the-same-everywhere-400.webp index 12939bf..488bac2 100644 Binary files a/public/og/thumb/embedding-fonts-so-a-pdf-looks-the-same-everywhere-400.webp and b/public/og/thumb/embedding-fonts-so-a-pdf-looks-the-same-everywhere-400.webp differ diff --git a/public/og/thumb/embedding-fonts-so-a-pdf-looks-the-same-everywhere-800.webp b/public/og/thumb/embedding-fonts-so-a-pdf-looks-the-same-everywhere-800.webp index f6c7915..2a62054 100644 Binary files a/public/og/thumb/embedding-fonts-so-a-pdf-looks-the-same-everywhere-800.webp and b/public/og/thumb/embedding-fonts-so-a-pdf-looks-the-same-everywhere-800.webp differ diff --git a/public/og/thumb/every-player-stuttered-the-file-was-fine-400.webp b/public/og/thumb/every-player-stuttered-the-file-was-fine-400.webp index e9505a1..59c1031 100644 Binary files a/public/og/thumb/every-player-stuttered-the-file-was-fine-400.webp and b/public/og/thumb/every-player-stuttered-the-file-was-fine-400.webp differ diff --git a/public/og/thumb/every-player-stuttered-the-file-was-fine-800.webp b/public/og/thumb/every-player-stuttered-the-file-was-fine-800.webp index 4b16c2e..66037fe 100644 Binary files a/public/og/thumb/every-player-stuttered-the-file-was-fine-800.webp and b/public/og/thumb/every-player-stuttered-the-file-was-fine-800.webp differ diff --git a/public/og/thumb/five-step-ai-roadmap-what-i-actually-run-400.webp b/public/og/thumb/five-step-ai-roadmap-what-i-actually-run-400.webp index 23bb692..759e943 100644 Binary files a/public/og/thumb/five-step-ai-roadmap-what-i-actually-run-400.webp and b/public/og/thumb/five-step-ai-roadmap-what-i-actually-run-400.webp differ diff --git a/public/og/thumb/five-step-ai-roadmap-what-i-actually-run-800.webp b/public/og/thumb/five-step-ai-roadmap-what-i-actually-run-800.webp index 3d0d446..1d4cf54 100644 Binary files a/public/og/thumb/five-step-ai-roadmap-what-i-actually-run-800.webp and b/public/og/thumb/five-step-ai-roadmap-what-i-actually-run-800.webp differ diff --git a/public/og/thumb/fully-on-chain-svg-nfts-400.webp b/public/og/thumb/fully-on-chain-svg-nfts-400.webp index 00a7ca4..9ec5f37 100644 Binary files a/public/og/thumb/fully-on-chain-svg-nfts-400.webp and b/public/og/thumb/fully-on-chain-svg-nfts-400.webp differ diff --git a/public/og/thumb/fully-on-chain-svg-nfts-800.webp b/public/og/thumb/fully-on-chain-svg-nfts-800.webp index 1d79118..2ddf5f5 100644 Binary files a/public/og/thumb/fully-on-chain-svg-nfts-800.webp and b/public/og/thumb/fully-on-chain-svg-nfts-800.webp differ diff --git a/public/og/thumb/hardening-a-tor-onion-service-400.webp b/public/og/thumb/hardening-a-tor-onion-service-400.webp index 8c85436..ac6fcda 100644 Binary files a/public/og/thumb/hardening-a-tor-onion-service-400.webp and b/public/og/thumb/hardening-a-tor-onion-service-400.webp differ diff --git a/public/og/thumb/hardening-a-tor-onion-service-800.webp b/public/og/thumb/hardening-a-tor-onion-service-800.webp index 5efa613..da75c77 100644 Binary files a/public/og/thumb/hardening-a-tor-onion-service-800.webp and b/public/og/thumb/hardening-a-tor-onion-service-800.webp differ diff --git a/public/og/thumb/hello-world-400.webp b/public/og/thumb/hello-world-400.webp index fb66de2..3e6e608 100644 Binary files a/public/og/thumb/hello-world-400.webp and b/public/og/thumb/hello-world-400.webp differ diff --git a/public/og/thumb/hello-world-800.webp b/public/og/thumb/hello-world-800.webp index d9b9710..f87c764 100644 Binary files a/public/og/thumb/hello-world-800.webp and b/public/og/thumb/hello-world-800.webp differ diff --git a/public/og/thumb/how-i-built-the-digikedai-telegram-bot-400.webp b/public/og/thumb/how-i-built-the-digikedai-telegram-bot-400.webp index cbbb5f9..89181c7 100644 Binary files a/public/og/thumb/how-i-built-the-digikedai-telegram-bot-400.webp and b/public/og/thumb/how-i-built-the-digikedai-telegram-bot-400.webp differ diff --git a/public/og/thumb/how-i-built-the-digikedai-telegram-bot-800.webp b/public/og/thumb/how-i-built-the-digikedai-telegram-bot-800.webp index 128da18..9c2039e 100644 Binary files a/public/og/thumb/how-i-built-the-digikedai-telegram-bot-800.webp and b/public/og/thumb/how-i-built-the-digikedai-telegram-bot-800.webp differ diff --git a/public/og/thumb/how-i-host-this-blog-400.webp b/public/og/thumb/how-i-host-this-blog-400.webp index 0dd57ad..3f87bc6 100644 Binary files a/public/og/thumb/how-i-host-this-blog-400.webp and b/public/og/thumb/how-i-host-this-blog-400.webp differ diff --git a/public/og/thumb/how-i-host-this-blog-800.webp b/public/og/thumb/how-i-host-this-blog-800.webp index 7907e50..cf1627f 100644 Binary files a/public/og/thumb/how-i-host-this-blog-800.webp and b/public/og/thumb/how-i-host-this-blog-800.webp differ diff --git a/public/og/thumb/how-i-made-my-own-songs-with-suno-ai-400.webp b/public/og/thumb/how-i-made-my-own-songs-with-suno-ai-400.webp index 43d014d..6a97ca8 100644 Binary files a/public/og/thumb/how-i-made-my-own-songs-with-suno-ai-400.webp and b/public/og/thumb/how-i-made-my-own-songs-with-suno-ai-400.webp differ diff --git a/public/og/thumb/how-i-made-my-own-songs-with-suno-ai-800.webp b/public/og/thumb/how-i-made-my-own-songs-with-suno-ai-800.webp index fcf1f60..85ef5b9 100644 Binary files a/public/og/thumb/how-i-made-my-own-songs-with-suno-ai-800.webp and b/public/og/thumb/how-i-made-my-own-songs-with-suno-ai-800.webp differ diff --git a/public/og/thumb/how-i-vetted-20-vps-providers-with-parallel-subagents-400.webp b/public/og/thumb/how-i-vetted-20-vps-providers-with-parallel-subagents-400.webp index 5f792c2..d8fba6d 100644 Binary files a/public/og/thumb/how-i-vetted-20-vps-providers-with-parallel-subagents-400.webp and b/public/og/thumb/how-i-vetted-20-vps-providers-with-parallel-subagents-400.webp differ diff --git a/public/og/thumb/how-i-vetted-20-vps-providers-with-parallel-subagents-800.webp b/public/og/thumb/how-i-vetted-20-vps-providers-with-parallel-subagents-800.webp index d785570..1ce006d 100644 Binary files a/public/og/thumb/how-i-vetted-20-vps-providers-with-parallel-subagents-800.webp and b/public/og/thumb/how-i-vetted-20-vps-providers-with-parallel-subagents-800.webp differ diff --git a/public/og/thumb/how-to-verify-a-hosting-provider-before-you-buy-400.webp b/public/og/thumb/how-to-verify-a-hosting-provider-before-you-buy-400.webp index b5fe49f..ea1464f 100644 Binary files a/public/og/thumb/how-to-verify-a-hosting-provider-before-you-buy-400.webp and b/public/og/thumb/how-to-verify-a-hosting-provider-before-you-buy-400.webp differ diff --git a/public/og/thumb/how-to-verify-a-hosting-provider-before-you-buy-800.webp b/public/og/thumb/how-to-verify-a-hosting-provider-before-you-buy-800.webp index 7284d07..444ed2a 100644 Binary files a/public/og/thumb/how-to-verify-a-hosting-provider-before-you-buy-800.webp and b/public/og/thumb/how-to-verify-a-hosting-provider-before-you-buy-800.webp differ diff --git a/public/og/thumb/i-let-an-agent-manage-my-shopee-vouchers-400.webp b/public/og/thumb/i-let-an-agent-manage-my-shopee-vouchers-400.webp index edee1d7..80e7b21 100644 Binary files a/public/og/thumb/i-let-an-agent-manage-my-shopee-vouchers-400.webp and b/public/og/thumb/i-let-an-agent-manage-my-shopee-vouchers-400.webp differ diff --git a/public/og/thumb/i-let-an-agent-manage-my-shopee-vouchers-800.webp b/public/og/thumb/i-let-an-agent-manage-my-shopee-vouchers-800.webp index a4cbbdb..93e11c1 100644 Binary files a/public/og/thumb/i-let-an-agent-manage-my-shopee-vouchers-800.webp and b/public/og/thumb/i-let-an-agent-manage-my-shopee-vouchers-800.webp differ diff --git a/public/og/thumb/it-reported-success-nothing-had-changed-400.webp b/public/og/thumb/it-reported-success-nothing-had-changed-400.webp index 9fd740d..57a452b 100644 Binary files a/public/og/thumb/it-reported-success-nothing-had-changed-400.webp and b/public/og/thumb/it-reported-success-nothing-had-changed-400.webp differ diff --git a/public/og/thumb/it-reported-success-nothing-had-changed-800.webp b/public/og/thumb/it-reported-success-nothing-had-changed-800.webp index b802b7e..a39dcc3 100644 Binary files a/public/og/thumb/it-reported-success-nothing-had-changed-800.webp and b/public/og/thumb/it-reported-success-nothing-had-changed-800.webp differ diff --git a/public/og/thumb/jpa-version-field-lost-update-400.webp b/public/og/thumb/jpa-version-field-lost-update-400.webp index ef746cf..9e42fb9 100644 Binary files a/public/og/thumb/jpa-version-field-lost-update-400.webp and b/public/og/thumb/jpa-version-field-lost-update-400.webp differ diff --git a/public/og/thumb/jpa-version-field-lost-update-800.webp b/public/og/thumb/jpa-version-field-lost-update-800.webp index a1d5145..786a92c 100644 Binary files a/public/og/thumb/jpa-version-field-lost-update-800.webp and b/public/og/thumb/jpa-version-field-lost-update-800.webp differ diff --git a/public/og/thumb/loop-engineering-without-a-coding-agent-400.webp b/public/og/thumb/loop-engineering-without-a-coding-agent-400.webp index eadce1b..93e8584 100644 Binary files a/public/og/thumb/loop-engineering-without-a-coding-agent-400.webp and b/public/og/thumb/loop-engineering-without-a-coding-agent-400.webp differ diff --git a/public/og/thumb/loop-engineering-without-a-coding-agent-800.webp b/public/og/thumb/loop-engineering-without-a-coding-agent-800.webp index 4867770..146ccec 100644 Binary files a/public/og/thumb/loop-engineering-without-a-coding-agent-800.webp and b/public/og/thumb/loop-engineering-without-a-coding-agent-800.webp differ diff --git a/public/og/thumb/migrating-codeigniter-iis-to-openlitespeed-400.webp b/public/og/thumb/migrating-codeigniter-iis-to-openlitespeed-400.webp index 7df07f1..e3a2d45 100644 Binary files a/public/og/thumb/migrating-codeigniter-iis-to-openlitespeed-400.webp and b/public/og/thumb/migrating-codeigniter-iis-to-openlitespeed-400.webp differ diff --git a/public/og/thumb/migrating-codeigniter-iis-to-openlitespeed-800.webp b/public/og/thumb/migrating-codeigniter-iis-to-openlitespeed-800.webp index d1c856f..31f51f2 100644 Binary files a/public/og/thumb/migrating-codeigniter-iis-to-openlitespeed-800.webp and b/public/og/thumb/migrating-codeigniter-iis-to-openlitespeed-800.webp differ diff --git a/public/og/thumb/my-backup-was-using-someone-elses-api-quota-400.webp b/public/og/thumb/my-backup-was-using-someone-elses-api-quota-400.webp index b7e6e6b..367bfaf 100644 Binary files a/public/og/thumb/my-backup-was-using-someone-elses-api-quota-400.webp and b/public/og/thumb/my-backup-was-using-someone-elses-api-quota-400.webp differ diff --git a/public/og/thumb/my-backup-was-using-someone-elses-api-quota-800.webp b/public/og/thumb/my-backup-was-using-someone-elses-api-quota-800.webp index a471a4f..8c243e2 100644 Binary files a/public/og/thumb/my-backup-was-using-someone-elses-api-quota-800.webp and b/public/og/thumb/my-backup-was-using-someone-elses-api-quota-800.webp differ diff --git a/public/og/thumb/n8n-v1-to-v2-upgrade-gotchas-400.webp b/public/og/thumb/n8n-v1-to-v2-upgrade-gotchas-400.webp index 260776c..d98dd50 100644 Binary files a/public/og/thumb/n8n-v1-to-v2-upgrade-gotchas-400.webp and b/public/og/thumb/n8n-v1-to-v2-upgrade-gotchas-400.webp differ diff --git a/public/og/thumb/n8n-v1-to-v2-upgrade-gotchas-800.webp b/public/og/thumb/n8n-v1-to-v2-upgrade-gotchas-800.webp index f3c938c..f1083e5 100644 Binary files a/public/og/thumb/n8n-v1-to-v2-upgrade-gotchas-800.webp and b/public/og/thumb/n8n-v1-to-v2-upgrade-gotchas-800.webp differ diff --git a/public/og/thumb/nocodb-sso-is-a-licensed-feature-400.webp b/public/og/thumb/nocodb-sso-is-a-licensed-feature-400.webp index c8328b9..0bee675 100644 Binary files a/public/og/thumb/nocodb-sso-is-a-licensed-feature-400.webp and b/public/og/thumb/nocodb-sso-is-a-licensed-feature-400.webp differ diff --git a/public/og/thumb/nocodb-sso-is-a-licensed-feature-800.webp b/public/og/thumb/nocodb-sso-is-a-licensed-feature-800.webp index c68cdb5..76e5d83 100644 Binary files a/public/og/thumb/nocodb-sso-is-a-licensed-feature-800.webp and b/public/og/thumb/nocodb-sso-is-a-licensed-feature-800.webp differ diff --git a/public/og/thumb/one-hostname-public-tracker-sso-dashboard-400.webp b/public/og/thumb/one-hostname-public-tracker-sso-dashboard-400.webp index 05663f3..5c21713 100644 Binary files a/public/og/thumb/one-hostname-public-tracker-sso-dashboard-400.webp and b/public/og/thumb/one-hostname-public-tracker-sso-dashboard-400.webp differ diff --git a/public/og/thumb/one-hostname-public-tracker-sso-dashboard-800.webp b/public/og/thumb/one-hostname-public-tracker-sso-dashboard-800.webp index 7d8b7f3..7ea64f8 100644 Binary files a/public/og/thumb/one-hostname-public-tracker-sso-dashboard-800.webp and b/public/og/thumb/one-hostname-public-tracker-sso-dashboard-800.webp differ diff --git a/public/og/thumb/one-prometheus-for-unraid-synology-and-a-vps-400.webp b/public/og/thumb/one-prometheus-for-unraid-synology-and-a-vps-400.webp index 6c8c54a..3214c74 100644 Binary files a/public/og/thumb/one-prometheus-for-unraid-synology-and-a-vps-400.webp and b/public/og/thumb/one-prometheus-for-unraid-synology-and-a-vps-400.webp differ diff --git a/public/og/thumb/one-prometheus-for-unraid-synology-and-a-vps-800.webp b/public/og/thumb/one-prometheus-for-unraid-synology-and-a-vps-800.webp index cba82ed..74d44e2 100644 Binary files a/public/og/thumb/one-prometheus-for-unraid-synology-and-a-vps-800.webp and b/public/og/thumb/one-prometheus-for-unraid-synology-and-a-vps-800.webp differ diff --git a/public/og/thumb/passbolt-hang-three-failure-modes-400.webp b/public/og/thumb/passbolt-hang-three-failure-modes-400.webp index 924002b..6fff87e 100644 Binary files a/public/og/thumb/passbolt-hang-three-failure-modes-400.webp and b/public/og/thumb/passbolt-hang-three-failure-modes-400.webp differ diff --git a/public/og/thumb/passbolt-hang-three-failure-modes-800.webp b/public/og/thumb/passbolt-hang-three-failure-modes-800.webp index c5c1436..fa4194c 100644 Binary files a/public/og/thumb/passbolt-hang-three-failure-modes-800.webp and b/public/og/thumb/passbolt-hang-three-failure-modes-800.webp differ diff --git a/public/og/thumb/patching-workbench-26-for-mariadb-400.webp b/public/og/thumb/patching-workbench-26-for-mariadb-400.webp index 07923e8..989d7cc 100644 Binary files a/public/og/thumb/patching-workbench-26-for-mariadb-400.webp and b/public/og/thumb/patching-workbench-26-for-mariadb-400.webp differ diff --git a/public/og/thumb/patching-workbench-26-for-mariadb-800.webp b/public/og/thumb/patching-workbench-26-for-mariadb-800.webp index c64939f..ba86172 100644 Binary files a/public/og/thumb/patching-workbench-26-for-mariadb-800.webp and b/public/og/thumb/patching-workbench-26-for-mariadb-800.webp differ diff --git a/public/og/thumb/putting-a-front-door-on-an-app-you-cant-modify-400.webp b/public/og/thumb/putting-a-front-door-on-an-app-you-cant-modify-400.webp index 0b304e3..64ada9a 100644 Binary files a/public/og/thumb/putting-a-front-door-on-an-app-you-cant-modify-400.webp and b/public/og/thumb/putting-a-front-door-on-an-app-you-cant-modify-400.webp differ diff --git a/public/og/thumb/putting-a-front-door-on-an-app-you-cant-modify-800.webp b/public/og/thumb/putting-a-front-door-on-an-app-you-cant-modify-800.webp index 70c21eb..4c0bcb4 100644 Binary files a/public/og/thumb/putting-a-front-door-on-an-app-you-cant-modify-800.webp and b/public/og/thumb/putting-a-front-door-on-an-app-you-cant-modify-800.webp differ diff --git a/public/og/thumb/read-only-nocodb-dashboard-for-a-remote-database-400.webp b/public/og/thumb/read-only-nocodb-dashboard-for-a-remote-database-400.webp index 4e2d4c7..33313d9 100644 Binary files a/public/og/thumb/read-only-nocodb-dashboard-for-a-remote-database-400.webp and b/public/og/thumb/read-only-nocodb-dashboard-for-a-remote-database-400.webp differ diff --git a/public/og/thumb/read-only-nocodb-dashboard-for-a-remote-database-800.webp b/public/og/thumb/read-only-nocodb-dashboard-for-a-remote-database-800.webp index b70bf39..4fe45af 100644 Binary files a/public/og/thumb/read-only-nocodb-dashboard-for-a-remote-database-800.webp and b/public/og/thumb/read-only-nocodb-dashboard-for-a-remote-database-800.webp differ diff --git a/public/og/thumb/reading-a-containers-own-api-docs-400.webp b/public/og/thumb/reading-a-containers-own-api-docs-400.webp index 7cc3a33..8ae258c 100644 Binary files a/public/og/thumb/reading-a-containers-own-api-docs-400.webp and b/public/og/thumb/reading-a-containers-own-api-docs-400.webp differ diff --git a/public/og/thumb/reading-a-containers-own-api-docs-800.webp b/public/og/thumb/reading-a-containers-own-api-docs-800.webp index c461f89..a08587a 100644 Binary files a/public/og/thumb/reading-a-containers-own-api-docs-800.webp and b/public/og/thumb/reading-a-containers-own-api-docs-800.webp differ diff --git a/public/og/thumb/replacing-rdpguard-with-ipban-400.webp b/public/og/thumb/replacing-rdpguard-with-ipban-400.webp index 66f7f87..24e389c 100644 Binary files a/public/og/thumb/replacing-rdpguard-with-ipban-400.webp and b/public/og/thumb/replacing-rdpguard-with-ipban-400.webp differ diff --git a/public/og/thumb/replacing-rdpguard-with-ipban-800.webp b/public/og/thumb/replacing-rdpguard-with-ipban-800.webp index 6f64491..b19abec 100644 Binary files a/public/og/thumb/replacing-rdpguard-with-ipban-800.webp and b/public/og/thumb/replacing-rdpguard-with-ipban-800.webp differ diff --git a/public/og/thumb/running-production-infrastructure-solo-400.webp b/public/og/thumb/running-production-infrastructure-solo-400.webp index d7296c8..ae5430c 100644 Binary files a/public/og/thumb/running-production-infrastructure-solo-400.webp and b/public/og/thumb/running-production-infrastructure-solo-400.webp differ diff --git a/public/og/thumb/running-production-infrastructure-solo-800.webp b/public/og/thumb/running-production-infrastructure-solo-800.webp index 734c379..6500094 100644 Binary files a/public/og/thumb/running-production-infrastructure-solo-800.webp and b/public/og/thumb/running-production-infrastructure-solo-800.webp differ diff --git a/public/og/thumb/running-tts-as-a-service-with-token-sidecars-400.webp b/public/og/thumb/running-tts-as-a-service-with-token-sidecars-400.webp index 745d118..d419d36 100644 Binary files a/public/og/thumb/running-tts-as-a-service-with-token-sidecars-400.webp and b/public/og/thumb/running-tts-as-a-service-with-token-sidecars-400.webp differ diff --git a/public/og/thumb/running-tts-as-a-service-with-token-sidecars-800.webp b/public/og/thumb/running-tts-as-a-service-with-token-sidecars-800.webp index 5e677d5..22b671e 100644 Binary files a/public/og/thumb/running-tts-as-a-service-with-token-sidecars-800.webp and b/public/og/thumb/running-tts-as-a-service-with-token-sidecars-800.webp differ diff --git a/public/og/thumb/scraping-bot-walled-marketplace-warm-browser-session-400.webp b/public/og/thumb/scraping-bot-walled-marketplace-warm-browser-session-400.webp index abdb160..de81a12 100644 Binary files a/public/og/thumb/scraping-bot-walled-marketplace-warm-browser-session-400.webp and b/public/og/thumb/scraping-bot-walled-marketplace-warm-browser-session-400.webp differ diff --git a/public/og/thumb/scraping-bot-walled-marketplace-warm-browser-session-800.webp b/public/og/thumb/scraping-bot-walled-marketplace-warm-browser-session-800.webp index 2d7c88d..d13025c 100644 Binary files a/public/og/thumb/scraping-bot-walled-marketplace-warm-browser-session-800.webp and b/public/og/thumb/scraping-bot-walled-marketplace-warm-browser-session-800.webp differ diff --git a/public/og/thumb/self-healing-digital-goods-entitlements-400.webp b/public/og/thumb/self-healing-digital-goods-entitlements-400.webp index 82d7816..f525ff2 100644 Binary files a/public/og/thumb/self-healing-digital-goods-entitlements-400.webp and b/public/og/thumb/self-healing-digital-goods-entitlements-400.webp differ diff --git a/public/og/thumb/self-healing-digital-goods-entitlements-800.webp b/public/og/thumb/self-healing-digital-goods-entitlements-800.webp index f16ffca..ab96267 100644 Binary files a/public/og/thumb/self-healing-digital-goods-entitlements-800.webp and b/public/og/thumb/self-healing-digital-goods-entitlements-800.webp differ diff --git a/public/og/thumb/self-hosted-speech-to-text-api-400.webp b/public/og/thumb/self-hosted-speech-to-text-api-400.webp index 5731d84..4d64510 100644 Binary files a/public/og/thumb/self-hosted-speech-to-text-api-400.webp and b/public/og/thumb/self-hosted-speech-to-text-api-400.webp differ diff --git a/public/og/thumb/self-hosted-speech-to-text-api-800.webp b/public/og/thumb/self-hosted-speech-to-text-api-800.webp index e958e3b..3d28c11 100644 Binary files a/public/og/thumb/self-hosted-speech-to-text-api-800.webp and b/public/og/thumb/self-hosted-speech-to-text-api-800.webp differ diff --git a/public/og/thumb/self-hosting-mem0-memory-stack-400.webp b/public/og/thumb/self-hosting-mem0-memory-stack-400.webp index 4d403e3..bd290b0 100644 Binary files a/public/og/thumb/self-hosting-mem0-memory-stack-400.webp and b/public/og/thumb/self-hosting-mem0-memory-stack-400.webp differ diff --git a/public/og/thumb/self-hosting-mem0-memory-stack-800.webp b/public/og/thumb/self-hosting-mem0-memory-stack-800.webp index 29b15b5..0bd7631 100644 Binary files a/public/og/thumb/self-hosting-mem0-memory-stack-800.webp and b/public/og/thumb/self-hosting-mem0-memory-stack-800.webp differ diff --git a/public/og/thumb/shipping-an-ai-photo-editor-as-a-wordpress-plugin-400.webp b/public/og/thumb/shipping-an-ai-photo-editor-as-a-wordpress-plugin-400.webp index 13e067c..cef685c 100644 Binary files a/public/og/thumb/shipping-an-ai-photo-editor-as-a-wordpress-plugin-400.webp and b/public/og/thumb/shipping-an-ai-photo-editor-as-a-wordpress-plugin-400.webp differ diff --git a/public/og/thumb/shipping-an-ai-photo-editor-as-a-wordpress-plugin-800.webp b/public/og/thumb/shipping-an-ai-photo-editor-as-a-wordpress-plugin-800.webp index 4931959..4325d0e 100644 Binary files a/public/og/thumb/shipping-an-ai-photo-editor-as-a-wordpress-plugin-800.webp and b/public/og/thumb/shipping-an-ai-photo-editor-as-a-wordpress-plugin-800.webp differ diff --git a/public/og/thumb/smartctl-exit-code-32-skips-the-disks-that-matter-400.webp b/public/og/thumb/smartctl-exit-code-32-skips-the-disks-that-matter-400.webp index d00db2a..39dc787 100644 Binary files a/public/og/thumb/smartctl-exit-code-32-skips-the-disks-that-matter-400.webp and b/public/og/thumb/smartctl-exit-code-32-skips-the-disks-that-matter-400.webp differ diff --git a/public/og/thumb/smartctl-exit-code-32-skips-the-disks-that-matter-800.webp b/public/og/thumb/smartctl-exit-code-32-skips-the-disks-that-matter-800.webp index a6bf3f3..7bed65a 100644 Binary files a/public/og/thumb/smartctl-exit-code-32-skips-the-disks-that-matter-800.webp and b/public/og/thumb/smartctl-exit-code-32-skips-the-disks-that-matter-800.webp differ diff --git a/public/og/thumb/space-reclamation-wasnt-stuck-it-was-waiting-400.webp b/public/og/thumb/space-reclamation-wasnt-stuck-it-was-waiting-400.webp index d2db867..d0f32b5 100644 Binary files a/public/og/thumb/space-reclamation-wasnt-stuck-it-was-waiting-400.webp and b/public/og/thumb/space-reclamation-wasnt-stuck-it-was-waiting-400.webp differ diff --git a/public/og/thumb/space-reclamation-wasnt-stuck-it-was-waiting-800.webp b/public/og/thumb/space-reclamation-wasnt-stuck-it-was-waiting-800.webp index 31c6988..3ee8e2e 100644 Binary files a/public/og/thumb/space-reclamation-wasnt-stuck-it-was-waiting-800.webp and b/public/og/thumb/space-reclamation-wasnt-stuck-it-was-waiting-800.webp differ diff --git a/public/og/thumb/stop-writing-agent-prompts-for-deterministic-work-400.webp b/public/og/thumb/stop-writing-agent-prompts-for-deterministic-work-400.webp index abbcae9..f3d36e5 100644 Binary files a/public/og/thumb/stop-writing-agent-prompts-for-deterministic-work-400.webp and b/public/og/thumb/stop-writing-agent-prompts-for-deterministic-work-400.webp differ diff --git a/public/og/thumb/stop-writing-agent-prompts-for-deterministic-work-800.webp b/public/og/thumb/stop-writing-agent-prompts-for-deterministic-work-800.webp index 4993f6b..d77c9ee 100644 Binary files a/public/og/thumb/stop-writing-agent-prompts-for-deterministic-work-800.webp and b/public/og/thumb/stop-writing-agent-prompts-for-deterministic-work-800.webp differ diff --git a/public/og/thumb/syncing-a-self-improving-ai-agent-across-machines-400.webp b/public/og/thumb/syncing-a-self-improving-ai-agent-across-machines-400.webp index d4854c4..070fb78 100644 Binary files a/public/og/thumb/syncing-a-self-improving-ai-agent-across-machines-400.webp and b/public/og/thumb/syncing-a-self-improving-ai-agent-across-machines-400.webp differ diff --git a/public/og/thumb/syncing-a-self-improving-ai-agent-across-machines-800.webp b/public/og/thumb/syncing-a-self-improving-ai-agent-across-machines-800.webp index 8dfdb5e..80dfffb 100644 Binary files a/public/og/thumb/syncing-a-self-improving-ai-agent-across-machines-800.webp and b/public/og/thumb/syncing-a-self-improving-ai-agent-across-machines-800.webp differ diff --git a/public/og/thumb/synology-api-401-with-the-correct-password-400.webp b/public/og/thumb/synology-api-401-with-the-correct-password-400.webp index fabbf39..8368d11 100644 Binary files a/public/og/thumb/synology-api-401-with-the-correct-password-400.webp and b/public/og/thumb/synology-api-401-with-the-correct-password-400.webp differ diff --git a/public/og/thumb/synology-api-401-with-the-correct-password-800.webp b/public/og/thumb/synology-api-401-with-the-correct-password-800.webp index 2b22d8f..dc7877d 100644 Binary files a/public/og/thumb/synology-api-401-with-the-correct-password-800.webp and b/public/og/thumb/synology-api-401-with-the-correct-password-800.webp differ diff --git a/public/og/thumb/synology-spreadsheet-api-is-a-container-400.webp b/public/og/thumb/synology-spreadsheet-api-is-a-container-400.webp index 0e559b2..4f158b7 100644 Binary files a/public/og/thumb/synology-spreadsheet-api-is-a-container-400.webp and b/public/og/thumb/synology-spreadsheet-api-is-a-container-400.webp differ diff --git a/public/og/thumb/synology-spreadsheet-api-is-a-container-800.webp b/public/og/thumb/synology-spreadsheet-api-is-a-container-800.webp index 47bbc0e..36d1666 100644 Binary files a/public/og/thumb/synology-spreadsheet-api-is-a-container-800.webp and b/public/og/thumb/synology-spreadsheet-api-is-a-container-800.webp differ diff --git a/public/og/thumb/that-dying-ssd-was-just-a-bad-sata-cable-400.webp b/public/og/thumb/that-dying-ssd-was-just-a-bad-sata-cable-400.webp index bc6ae91..79e9d0e 100644 Binary files a/public/og/thumb/that-dying-ssd-was-just-a-bad-sata-cable-400.webp and b/public/og/thumb/that-dying-ssd-was-just-a-bad-sata-cable-400.webp differ diff --git a/public/og/thumb/that-dying-ssd-was-just-a-bad-sata-cable-800.webp b/public/og/thumb/that-dying-ssd-was-just-a-bad-sata-cable-800.webp index 02c5647..f350504 100644 Binary files a/public/og/thumb/that-dying-ssd-was-just-a-bad-sata-cable-800.webp and b/public/og/thumb/that-dying-ssd-was-just-a-bad-sata-cable-800.webp differ diff --git a/public/og/thumb/the-cause-was-trim-not-the-ssds-400.webp b/public/og/thumb/the-cause-was-trim-not-the-ssds-400.webp index 5cedf1c..828df3f 100644 Binary files a/public/og/thumb/the-cause-was-trim-not-the-ssds-400.webp and b/public/og/thumb/the-cause-was-trim-not-the-ssds-400.webp differ diff --git a/public/og/thumb/the-cause-was-trim-not-the-ssds-800.webp b/public/og/thumb/the-cause-was-trim-not-the-ssds-800.webp index 55a3aec..86c5594 100644 Binary files a/public/og/thumb/the-cause-was-trim-not-the-ssds-800.webp and b/public/og/thumb/the-cause-was-trim-not-the-ssds-800.webp differ diff --git a/public/og/thumb/the-nocodb-attachment-that-wouldnt-update-400.webp b/public/og/thumb/the-nocodb-attachment-that-wouldnt-update-400.webp index a3594d5..97d9bae 100644 Binary files a/public/og/thumb/the-nocodb-attachment-that-wouldnt-update-400.webp and b/public/og/thumb/the-nocodb-attachment-that-wouldnt-update-400.webp differ diff --git a/public/og/thumb/the-nocodb-attachment-that-wouldnt-update-800.webp b/public/og/thumb/the-nocodb-attachment-that-wouldnt-update-800.webp index db74b1d..dfede74 100644 Binary files a/public/og/thumb/the-nocodb-attachment-that-wouldnt-update-800.webp and b/public/og/thumb/the-nocodb-attachment-that-wouldnt-update-800.webp differ diff --git a/public/og/thumb/the-upstream-was-deleted-then-came-back-rewritten-400.webp b/public/og/thumb/the-upstream-was-deleted-then-came-back-rewritten-400.webp index 3871c52..b951780 100644 Binary files a/public/og/thumb/the-upstream-was-deleted-then-came-back-rewritten-400.webp and b/public/og/thumb/the-upstream-was-deleted-then-came-back-rewritten-400.webp differ diff --git a/public/og/thumb/the-upstream-was-deleted-then-came-back-rewritten-800.webp b/public/og/thumb/the-upstream-was-deleted-then-came-back-rewritten-800.webp index f0185e5..4b5b451 100644 Binary files a/public/og/thumb/the-upstream-was-deleted-then-came-back-rewritten-800.webp and b/public/og/thumb/the-upstream-was-deleted-then-came-back-rewritten-800.webp differ diff --git a/public/og/thumb/two-ways-a-javascript-file-stops-working-and-looks-fine-400.webp b/public/og/thumb/two-ways-a-javascript-file-stops-working-and-looks-fine-400.webp index e0e8f3e..e4fade1 100644 Binary files a/public/og/thumb/two-ways-a-javascript-file-stops-working-and-looks-fine-400.webp and b/public/og/thumb/two-ways-a-javascript-file-stops-working-and-looks-fine-400.webp differ diff --git a/public/og/thumb/two-ways-a-javascript-file-stops-working-and-looks-fine-800.webp b/public/og/thumb/two-ways-a-javascript-file-stops-working-and-looks-fine-800.webp index 490014b..d4d7258 100644 Binary files a/public/og/thumb/two-ways-a-javascript-file-stops-working-and-looks-fine-800.webp and b/public/og/thumb/two-ways-a-javascript-file-stops-working-and-looks-fine-800.webp differ diff --git a/public/og/thumb/unraid-stop-array-hangs-on-swapfile-400.webp b/public/og/thumb/unraid-stop-array-hangs-on-swapfile-400.webp index 2220c20..9a769b1 100644 Binary files a/public/og/thumb/unraid-stop-array-hangs-on-swapfile-400.webp and b/public/og/thumb/unraid-stop-array-hangs-on-swapfile-400.webp differ diff --git a/public/og/thumb/unraid-stop-array-hangs-on-swapfile-800.webp b/public/og/thumb/unraid-stop-array-hangs-on-swapfile-800.webp index 4f36700..76ff039 100644 Binary files a/public/og/thumb/unraid-stop-array-hangs-on-swapfile-800.webp and b/public/og/thumb/unraid-stop-array-hangs-on-swapfile-800.webp differ diff --git a/public/og/thumb/upgrading-codeigniter-46-to-47-400.webp b/public/og/thumb/upgrading-codeigniter-46-to-47-400.webp index a849ef6..f9651ac 100644 Binary files a/public/og/thumb/upgrading-codeigniter-46-to-47-400.webp and b/public/og/thumb/upgrading-codeigniter-46-to-47-400.webp differ diff --git a/public/og/thumb/upgrading-codeigniter-46-to-47-800.webp b/public/og/thumb/upgrading-codeigniter-46-to-47-800.webp index 840be8c..2aa8f76 100644 Binary files a/public/og/thumb/upgrading-codeigniter-46-to-47-800.webp and b/public/og/thumb/upgrading-codeigniter-46-to-47-800.webp differ diff --git a/public/og/thumb/using-chinese-llm-apis-from-malaysia-400.webp b/public/og/thumb/using-chinese-llm-apis-from-malaysia-400.webp index 92b8539..ee2bcb2 100644 Binary files a/public/og/thumb/using-chinese-llm-apis-from-malaysia-400.webp and b/public/og/thumb/using-chinese-llm-apis-from-malaysia-400.webp differ diff --git a/public/og/thumb/using-chinese-llm-apis-from-malaysia-800.webp b/public/og/thumb/using-chinese-llm-apis-from-malaysia-800.webp index a1ba4d1..0abab5d 100644 Binary files a/public/og/thumb/using-chinese-llm-apis-from-malaysia-800.webp and b/public/og/thumb/using-chinese-llm-apis-from-malaysia-800.webp differ diff --git a/public/og/thumb/verifying-a-pdf-report-page-by-page-400.webp b/public/og/thumb/verifying-a-pdf-report-page-by-page-400.webp index ab86e1f..0632bcf 100644 Binary files a/public/og/thumb/verifying-a-pdf-report-page-by-page-400.webp and b/public/og/thumb/verifying-a-pdf-report-page-by-page-400.webp differ diff --git a/public/og/thumb/verifying-a-pdf-report-page-by-page-800.webp b/public/og/thumb/verifying-a-pdf-report-page-by-page-800.webp index 34026c1..b9020ed 100644 Binary files a/public/og/thumb/verifying-a-pdf-report-page-by-page-800.webp and b/public/og/thumb/verifying-a-pdf-report-page-by-page-800.webp differ diff --git a/public/og/thumb/vetting-an-open-source-dependency-before-you-bet-on-it-400.webp b/public/og/thumb/vetting-an-open-source-dependency-before-you-bet-on-it-400.webp index 03625d1..1ff6cde 100644 Binary files a/public/og/thumb/vetting-an-open-source-dependency-before-you-bet-on-it-400.webp and b/public/og/thumb/vetting-an-open-source-dependency-before-you-bet-on-it-400.webp differ diff --git a/public/og/thumb/vetting-an-open-source-dependency-before-you-bet-on-it-800.webp b/public/og/thumb/vetting-an-open-source-dependency-before-you-bet-on-it-800.webp index 3b85535..db48ce2 100644 Binary files a/public/og/thumb/vetting-an-open-source-dependency-before-you-bet-on-it-800.webp and b/public/og/thumb/vetting-an-open-source-dependency-before-you-bet-on-it-800.webp differ diff --git a/public/og/thumb/when-smart-says-healthy-but-your-raid-is-corrupting-data-400.webp b/public/og/thumb/when-smart-says-healthy-but-your-raid-is-corrupting-data-400.webp index 31dacb3..cafca81 100644 Binary files a/public/og/thumb/when-smart-says-healthy-but-your-raid-is-corrupting-data-400.webp and b/public/og/thumb/when-smart-says-healthy-but-your-raid-is-corrupting-data-400.webp differ diff --git a/public/og/thumb/when-smart-says-healthy-but-your-raid-is-corrupting-data-800.webp b/public/og/thumb/when-smart-says-healthy-but-your-raid-is-corrupting-data-800.webp index bda419d..3b9043f 100644 Binary files a/public/og/thumb/when-smart-says-healthy-but-your-raid-is-corrupting-data-800.webp and b/public/og/thumb/when-smart-says-healthy-but-your-raid-is-corrupting-data-800.webp differ diff --git a/public/og/thumb/why-500000-lines-of-commit-churn-only-left-230000-in-production-400.webp b/public/og/thumb/why-500000-lines-of-commit-churn-only-left-230000-in-production-400.webp index d6ae711..bbe9aa9 100644 Binary files a/public/og/thumb/why-500000-lines-of-commit-churn-only-left-230000-in-production-400.webp and b/public/og/thumb/why-500000-lines-of-commit-churn-only-left-230000-in-production-400.webp differ diff --git a/public/og/thumb/why-500000-lines-of-commit-churn-only-left-230000-in-production-800.webp b/public/og/thumb/why-500000-lines-of-commit-churn-only-left-230000-in-production-800.webp index 34bd335..2edea1d 100644 Binary files a/public/og/thumb/why-500000-lines-of-commit-churn-only-left-230000-in-production-800.webp and b/public/og/thumb/why-500000-lines-of-commit-churn-only-left-230000-in-production-800.webp differ diff --git a/public/og/thumb/why-chrome-forgets-its-tabs-in-a-container-400.webp b/public/og/thumb/why-chrome-forgets-its-tabs-in-a-container-400.webp index 8072339..c049d2d 100644 Binary files a/public/og/thumb/why-chrome-forgets-its-tabs-in-a-container-400.webp and b/public/og/thumb/why-chrome-forgets-its-tabs-in-a-container-400.webp differ diff --git a/public/og/thumb/why-chrome-forgets-its-tabs-in-a-container-800.webp b/public/og/thumb/why-chrome-forgets-its-tabs-in-a-container-800.webp index e0f782d..f5d2f95 100644 Binary files a/public/og/thumb/why-chrome-forgets-its-tabs-in-a-container-800.webp and b/public/og/thumb/why-chrome-forgets-its-tabs-in-a-container-800.webp differ diff --git a/public/og/thumb/why-i-still-bought-a-local-gpu-400.webp b/public/og/thumb/why-i-still-bought-a-local-gpu-400.webp index 5b3d4e6..b29029f 100644 Binary files a/public/og/thumb/why-i-still-bought-a-local-gpu-400.webp and b/public/og/thumb/why-i-still-bought-a-local-gpu-400.webp differ diff --git a/public/og/thumb/why-i-still-bought-a-local-gpu-800.webp b/public/og/thumb/why-i-still-bought-a-local-gpu-800.webp index 73e25e4..7c5f948 100644 Binary files a/public/og/thumb/why-i-still-bought-a-local-gpu-800.webp and b/public/og/thumb/why-i-still-bought-a-local-gpu-800.webp differ diff --git a/public/og/thumb/why-my-on-chain-nft-art-changed-on-windows-400.webp b/public/og/thumb/why-my-on-chain-nft-art-changed-on-windows-400.webp index 8d51895..95db545 100644 Binary files a/public/og/thumb/why-my-on-chain-nft-art-changed-on-windows-400.webp and b/public/og/thumb/why-my-on-chain-nft-art-changed-on-windows-400.webp differ diff --git a/public/og/thumb/why-my-on-chain-nft-art-changed-on-windows-800.webp b/public/og/thumb/why-my-on-chain-nft-art-changed-on-windows-800.webp index 56d54a2..b00ed49 100644 Binary files a/public/og/thumb/why-my-on-chain-nft-art-changed-on-windows-800.webp and b/public/og/thumb/why-my-on-chain-nft-art-changed-on-windows-800.webp differ diff --git a/public/og/thumb/why-telegram-bot-notifications-die-400.webp b/public/og/thumb/why-telegram-bot-notifications-die-400.webp index a435ad2..0725b3e 100644 Binary files a/public/og/thumb/why-telegram-bot-notifications-die-400.webp and b/public/og/thumb/why-telegram-bot-notifications-die-400.webp differ diff --git a/public/og/thumb/why-telegram-bot-notifications-die-800.webp b/public/og/thumb/why-telegram-bot-notifications-die-800.webp index ec46380..3b71186 100644 Binary files a/public/og/thumb/why-telegram-bot-notifications-die-800.webp and b/public/og/thumb/why-telegram-bot-notifications-die-800.webp differ diff --git a/public/og/thumb/why-your-cdp-clicks-silently-fail-400.webp b/public/og/thumb/why-your-cdp-clicks-silently-fail-400.webp index c5b7bd4..5d1fded 100644 Binary files a/public/og/thumb/why-your-cdp-clicks-silently-fail-400.webp and b/public/og/thumb/why-your-cdp-clicks-silently-fail-400.webp differ diff --git a/public/og/thumb/why-your-cdp-clicks-silently-fail-800.webp b/public/og/thumb/why-your-cdp-clicks-silently-fail-800.webp index 18b6cf6..771a55e 100644 Binary files a/public/og/thumb/why-your-cdp-clicks-silently-fail-800.webp and b/public/og/thumb/why-your-cdp-clicks-silently-fail-800.webp differ diff --git a/public/og/thumb/why-your-grafana-dashboard-shows-no-data-400.webp b/public/og/thumb/why-your-grafana-dashboard-shows-no-data-400.webp index b577d65..a8a3180 100644 Binary files a/public/og/thumb/why-your-grafana-dashboard-shows-no-data-400.webp and b/public/og/thumb/why-your-grafana-dashboard-shows-no-data-400.webp differ diff --git a/public/og/thumb/why-your-grafana-dashboard-shows-no-data-800.webp b/public/og/thumb/why-your-grafana-dashboard-shows-no-data-800.webp index 6692fbc..68794ba 100644 Binary files a/public/og/thumb/why-your-grafana-dashboard-shows-no-data-800.webp and b/public/og/thumb/why-your-grafana-dashboard-shows-no-data-800.webp differ diff --git a/public/og/thumb/why-your-headless-browser-cant-scrape-everything-400.webp b/public/og/thumb/why-your-headless-browser-cant-scrape-everything-400.webp index 30e5f8f..e732dc5 100644 Binary files a/public/og/thumb/why-your-headless-browser-cant-scrape-everything-400.webp and b/public/og/thumb/why-your-headless-browser-cant-scrape-everything-400.webp differ diff --git a/public/og/thumb/why-your-headless-browser-cant-scrape-everything-800.webp b/public/og/thumb/why-your-headless-browser-cant-scrape-everything-800.webp index b5129f5..0523e83 100644 Binary files a/public/og/thumb/why-your-headless-browser-cant-scrape-everything-800.webp and b/public/og/thumb/why-your-headless-browser-cant-scrape-everything-800.webp differ diff --git a/public/og/thumb/your-disk-full-alert-is-lying-400.webp b/public/og/thumb/your-disk-full-alert-is-lying-400.webp index 4a2d887..5dc6d7a 100644 Binary files a/public/og/thumb/your-disk-full-alert-is-lying-400.webp and b/public/og/thumb/your-disk-full-alert-is-lying-400.webp differ diff --git a/public/og/thumb/your-disk-full-alert-is-lying-800.webp b/public/og/thumb/your-disk-full-alert-is-lying-800.webp index fe9c3e4..4dd379e 100644 Binary files a/public/og/thumb/your-disk-full-alert-is-lying-800.webp and b/public/og/thumb/your-disk-full-alert-is-lying-800.webp differ diff --git a/public/og/two-ways-a-javascript-file-stops-working-and-looks-fine.jpg b/public/og/two-ways-a-javascript-file-stops-working-and-looks-fine.jpg index fb43746..3432c84 100644 Binary files a/public/og/two-ways-a-javascript-file-stops-working-and-looks-fine.jpg and b/public/og/two-ways-a-javascript-file-stops-working-and-looks-fine.jpg differ diff --git a/public/og/unraid-stop-array-hangs-on-swapfile.jpg b/public/og/unraid-stop-array-hangs-on-swapfile.jpg index 2f8aecb..2e3a4f3 100644 Binary files a/public/og/unraid-stop-array-hangs-on-swapfile.jpg and b/public/og/unraid-stop-array-hangs-on-swapfile.jpg differ diff --git a/public/og/upgrading-codeigniter-46-to-47.jpg b/public/og/upgrading-codeigniter-46-to-47.jpg index a15ea58..48959d9 100644 Binary files a/public/og/upgrading-codeigniter-46-to-47.jpg and b/public/og/upgrading-codeigniter-46-to-47.jpg differ diff --git a/public/og/using-chinese-llm-apis-from-malaysia.jpg b/public/og/using-chinese-llm-apis-from-malaysia.jpg index ad041e2..7bfdd7e 100644 Binary files a/public/og/using-chinese-llm-apis-from-malaysia.jpg and b/public/og/using-chinese-llm-apis-from-malaysia.jpg differ diff --git a/public/og/verifying-a-pdf-report-page-by-page.jpg b/public/og/verifying-a-pdf-report-page-by-page.jpg index c58cbbc..c23d789 100644 Binary files a/public/og/verifying-a-pdf-report-page-by-page.jpg and b/public/og/verifying-a-pdf-report-page-by-page.jpg differ diff --git a/public/og/vetting-an-open-source-dependency-before-you-bet-on-it.jpg b/public/og/vetting-an-open-source-dependency-before-you-bet-on-it.jpg index 6c8c1e9..63c3000 100644 Binary files a/public/og/vetting-an-open-source-dependency-before-you-bet-on-it.jpg and b/public/og/vetting-an-open-source-dependency-before-you-bet-on-it.jpg differ diff --git a/public/og/when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg b/public/og/when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg index 21e1215..eed5d91 100644 Binary files a/public/og/when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg and b/public/og/when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg differ diff --git a/public/og/why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg b/public/og/why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg index 199d037..97ab2ad 100644 Binary files a/public/og/why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg and b/public/og/why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg differ diff --git a/public/og/why-chrome-forgets-its-tabs-in-a-container.jpg b/public/og/why-chrome-forgets-its-tabs-in-a-container.jpg index 608e68b..254827a 100644 Binary files a/public/og/why-chrome-forgets-its-tabs-in-a-container.jpg and b/public/og/why-chrome-forgets-its-tabs-in-a-container.jpg differ diff --git a/public/og/why-i-still-bought-a-local-gpu.jpg b/public/og/why-i-still-bought-a-local-gpu.jpg index bb445d1..6cb8213 100644 Binary files a/public/og/why-i-still-bought-a-local-gpu.jpg and b/public/og/why-i-still-bought-a-local-gpu.jpg differ diff --git a/public/og/why-my-on-chain-nft-art-changed-on-windows.jpg b/public/og/why-my-on-chain-nft-art-changed-on-windows.jpg index 5dd8ce0..0293553 100644 Binary files a/public/og/why-my-on-chain-nft-art-changed-on-windows.jpg and b/public/og/why-my-on-chain-nft-art-changed-on-windows.jpg differ diff --git a/public/og/why-telegram-bot-notifications-die.jpg b/public/og/why-telegram-bot-notifications-die.jpg index 7fe3826..20a94a6 100644 Binary files a/public/og/why-telegram-bot-notifications-die.jpg and b/public/og/why-telegram-bot-notifications-die.jpg differ diff --git a/public/og/why-your-cdp-clicks-silently-fail.jpg b/public/og/why-your-cdp-clicks-silently-fail.jpg index 4cdb044..1d393ee 100644 Binary files a/public/og/why-your-cdp-clicks-silently-fail.jpg and b/public/og/why-your-cdp-clicks-silently-fail.jpg differ diff --git a/public/og/why-your-grafana-dashboard-shows-no-data.jpg b/public/og/why-your-grafana-dashboard-shows-no-data.jpg index 8d5cb4e..51b223c 100644 Binary files a/public/og/why-your-grafana-dashboard-shows-no-data.jpg and b/public/og/why-your-grafana-dashboard-shows-no-data.jpg differ diff --git a/public/og/why-your-headless-browser-cant-scrape-everything.jpg b/public/og/why-your-headless-browser-cant-scrape-everything.jpg index 87f1832..050d617 100644 Binary files a/public/og/why-your-headless-browser-cant-scrape-everything.jpg and b/public/og/why-your-headless-browser-cant-scrape-everything.jpg differ diff --git a/public/og/your-disk-full-alert-is-lying.jpg b/public/og/your-disk-full-alert-is-lying.jpg index 2ba9c10..d4b2b8c 100644 Binary files a/public/og/your-disk-full-alert-is-lying.jpg and b/public/og/your-disk-full-alert-is-lying.jpg differ diff --git a/public/og/zh-adding-a-domain-to-someone-elses-mail-server.jpg b/public/og/zh-adding-a-domain-to-someone-elses-mail-server.jpg index 4521fbf..402497a 100644 Binary files a/public/og/zh-adding-a-domain-to-someone-elses-mail-server.jpg and b/public/og/zh-adding-a-domain-to-someone-elses-mail-server.jpg differ diff --git a/public/og/zh-adding-english-mode-to-a-chinese-only-web-app.jpg b/public/og/zh-adding-english-mode-to-a-chinese-only-web-app.jpg index 604ff04..f872c26 100644 Binary files a/public/og/zh-adding-english-mode-to-a-chinese-only-web-app.jpg and b/public/og/zh-adding-english-mode-to-a-chinese-only-web-app.jpg differ diff --git a/public/og/zh-ai-furniture-compositing-with-flux-kontext.jpg b/public/og/zh-ai-furniture-compositing-with-flux-kontext.jpg index 585c9cd..a156a0e 100644 Binary files a/public/og/zh-ai-furniture-compositing-with-flux-kontext.jpg and b/public/og/zh-ai-furniture-compositing-with-flux-kontext.jpg differ diff --git a/public/og/zh-authentik-css-greater-than-bug.jpg b/public/og/zh-authentik-css-greater-than-bug.jpg index 7826da6..63c95dc 100644 Binary files a/public/og/zh-authentik-css-greater-than-bug.jpg and b/public/og/zh-authentik-css-greater-than-bug.jpg differ diff --git a/public/og/zh-authentik-forward-auth-gate-wasnt-live.jpg b/public/og/zh-authentik-forward-auth-gate-wasnt-live.jpg index 3db9cf4..49c4ca1 100644 Binary files a/public/og/zh-authentik-forward-auth-gate-wasnt-live.jpg and b/public/og/zh-authentik-forward-auth-gate-wasnt-live.jpg differ diff --git a/public/og/zh-authentik-major-upgrade-gotchas.jpg b/public/og/zh-authentik-major-upgrade-gotchas.jpg index df0101b..ec7010d 100644 Binary files a/public/og/zh-authentik-major-upgrade-gotchas.jpg and b/public/og/zh-authentik-major-upgrade-gotchas.jpg differ diff --git a/public/og/zh-automating-cyberpanel-without-the-ui.jpg b/public/og/zh-automating-cyberpanel-without-the-ui.jpg index 64d9ea9..ed921b7 100644 Binary files a/public/og/zh-automating-cyberpanel-without-the-ui.jpg and b/public/og/zh-automating-cyberpanel-without-the-ui.jpg differ diff --git a/public/og/zh-best-ai-video-generators-2026.jpg b/public/og/zh-best-ai-video-generators-2026.jpg index 7427289..598c722 100644 Binary files a/public/og/zh-best-ai-video-generators-2026.jpg and b/public/og/zh-best-ai-video-generators-2026.jpg differ diff --git a/public/og/zh-calibrating-intel-quick-sync-hevc-quality.jpg b/public/og/zh-calibrating-intel-quick-sync-hevc-quality.jpg index bf6a840..fa49125 100644 Binary files a/public/og/zh-calibrating-intel-quick-sync-hevc-quality.jpg and b/public/og/zh-calibrating-intel-quick-sync-hevc-quality.jpg differ diff --git a/public/og/zh-chainlink-vrf-v2-lottery-contract.jpg b/public/og/zh-chainlink-vrf-v2-lottery-contract.jpg index 53b8e6c..36fd19b 100644 Binary files a/public/og/zh-chainlink-vrf-v2-lottery-contract.jpg and b/public/og/zh-chainlink-vrf-v2-lottery-contract.jpg differ diff --git a/public/og/zh-docker-reported-exit-0-the-oom-killer-disagreed.jpg b/public/og/zh-docker-reported-exit-0-the-oom-killer-disagreed.jpg index f143d58..723c1f8 100644 Binary files a/public/og/zh-docker-reported-exit-0-the-oom-killer-disagreed.jpg and b/public/og/zh-docker-reported-exit-0-the-oom-killer-disagreed.jpg differ diff --git a/public/og/zh-does-hevc-actually-shrink-your-files.jpg b/public/og/zh-does-hevc-actually-shrink-your-files.jpg index b515938..34f0212 100644 Binary files a/public/og/zh-does-hevc-actually-shrink-your-files.jpg and b/public/og/zh-does-hevc-actually-shrink-your-files.jpg differ diff --git a/public/og/zh-embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg b/public/og/zh-embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg index 2ab3217..8064f9e 100644 Binary files a/public/og/zh-embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg and b/public/og/zh-embedding-fonts-so-a-pdf-looks-the-same-everywhere.jpg differ diff --git a/public/og/zh-every-player-stuttered-the-file-was-fine.jpg b/public/og/zh-every-player-stuttered-the-file-was-fine.jpg index 6b77e17..a3a59e0 100644 Binary files a/public/og/zh-every-player-stuttered-the-file-was-fine.jpg and b/public/og/zh-every-player-stuttered-the-file-was-fine.jpg differ diff --git a/public/og/zh-five-step-ai-roadmap-what-i-actually-run.jpg b/public/og/zh-five-step-ai-roadmap-what-i-actually-run.jpg index 100d019..2a48fbe 100644 Binary files a/public/og/zh-five-step-ai-roadmap-what-i-actually-run.jpg and b/public/og/zh-five-step-ai-roadmap-what-i-actually-run.jpg differ diff --git a/public/og/zh-fully-on-chain-svg-nfts.jpg b/public/og/zh-fully-on-chain-svg-nfts.jpg index 57e29e9..e9d18b5 100644 Binary files a/public/og/zh-fully-on-chain-svg-nfts.jpg and b/public/og/zh-fully-on-chain-svg-nfts.jpg differ diff --git a/public/og/zh-hardening-a-tor-onion-service.jpg b/public/og/zh-hardening-a-tor-onion-service.jpg index 113a463..b9226fe 100644 Binary files a/public/og/zh-hardening-a-tor-onion-service.jpg and b/public/og/zh-hardening-a-tor-onion-service.jpg differ diff --git a/public/og/zh-hello-world.jpg b/public/og/zh-hello-world.jpg index 2028815..91801ae 100644 Binary files a/public/og/zh-hello-world.jpg and b/public/og/zh-hello-world.jpg differ diff --git a/public/og/zh-how-i-built-the-digikedai-telegram-bot.jpg b/public/og/zh-how-i-built-the-digikedai-telegram-bot.jpg index 4acf385..913f190 100644 Binary files a/public/og/zh-how-i-built-the-digikedai-telegram-bot.jpg and b/public/og/zh-how-i-built-the-digikedai-telegram-bot.jpg differ diff --git a/public/og/zh-how-i-host-this-blog.jpg b/public/og/zh-how-i-host-this-blog.jpg index 1ccd3de..158fd04 100644 Binary files a/public/og/zh-how-i-host-this-blog.jpg and b/public/og/zh-how-i-host-this-blog.jpg differ diff --git a/public/og/zh-how-i-made-my-own-songs-with-suno-ai.jpg b/public/og/zh-how-i-made-my-own-songs-with-suno-ai.jpg index 775aa60..0ae413c 100644 Binary files a/public/og/zh-how-i-made-my-own-songs-with-suno-ai.jpg and b/public/og/zh-how-i-made-my-own-songs-with-suno-ai.jpg differ diff --git a/public/og/zh-how-i-vetted-20-vps-providers-with-parallel-subagents.jpg b/public/og/zh-how-i-vetted-20-vps-providers-with-parallel-subagents.jpg index feed103..f951d5a 100644 Binary files a/public/og/zh-how-i-vetted-20-vps-providers-with-parallel-subagents.jpg and b/public/og/zh-how-i-vetted-20-vps-providers-with-parallel-subagents.jpg differ diff --git a/public/og/zh-how-to-verify-a-hosting-provider-before-you-buy.jpg b/public/og/zh-how-to-verify-a-hosting-provider-before-you-buy.jpg index 3f7f918..27739bd 100644 Binary files a/public/og/zh-how-to-verify-a-hosting-provider-before-you-buy.jpg and b/public/og/zh-how-to-verify-a-hosting-provider-before-you-buy.jpg differ diff --git a/public/og/zh-i-let-an-agent-manage-my-shopee-vouchers.jpg b/public/og/zh-i-let-an-agent-manage-my-shopee-vouchers.jpg index 4881f62..739bf3d 100644 Binary files a/public/og/zh-i-let-an-agent-manage-my-shopee-vouchers.jpg and b/public/og/zh-i-let-an-agent-manage-my-shopee-vouchers.jpg differ diff --git a/public/og/zh-it-reported-success-nothing-had-changed.jpg b/public/og/zh-it-reported-success-nothing-had-changed.jpg index 1a2275e..ee8afa2 100644 Binary files a/public/og/zh-it-reported-success-nothing-had-changed.jpg and b/public/og/zh-it-reported-success-nothing-had-changed.jpg differ diff --git a/public/og/zh-jpa-version-field-lost-update.jpg b/public/og/zh-jpa-version-field-lost-update.jpg index ff8ec06..f23e858 100644 Binary files a/public/og/zh-jpa-version-field-lost-update.jpg and b/public/og/zh-jpa-version-field-lost-update.jpg differ diff --git a/public/og/zh-loop-engineering-without-a-coding-agent.jpg b/public/og/zh-loop-engineering-without-a-coding-agent.jpg index d742023..541b27e 100644 Binary files a/public/og/zh-loop-engineering-without-a-coding-agent.jpg and b/public/og/zh-loop-engineering-without-a-coding-agent.jpg differ diff --git a/public/og/zh-migrating-codeigniter-iis-to-openlitespeed.jpg b/public/og/zh-migrating-codeigniter-iis-to-openlitespeed.jpg index b7a9875..265c541 100644 Binary files a/public/og/zh-migrating-codeigniter-iis-to-openlitespeed.jpg and b/public/og/zh-migrating-codeigniter-iis-to-openlitespeed.jpg differ diff --git a/public/og/zh-my-backup-was-using-someone-elses-api-quota.jpg b/public/og/zh-my-backup-was-using-someone-elses-api-quota.jpg index 2738476..10ef137 100644 Binary files a/public/og/zh-my-backup-was-using-someone-elses-api-quota.jpg and b/public/og/zh-my-backup-was-using-someone-elses-api-quota.jpg differ diff --git a/public/og/zh-n8n-v1-to-v2-upgrade-gotchas.jpg b/public/og/zh-n8n-v1-to-v2-upgrade-gotchas.jpg index d374d5e..fe0e2b3 100644 Binary files a/public/og/zh-n8n-v1-to-v2-upgrade-gotchas.jpg and b/public/og/zh-n8n-v1-to-v2-upgrade-gotchas.jpg differ diff --git a/public/og/zh-nocodb-sso-is-a-licensed-feature.jpg b/public/og/zh-nocodb-sso-is-a-licensed-feature.jpg index 7e37bb0..1b4f8e3 100644 Binary files a/public/og/zh-nocodb-sso-is-a-licensed-feature.jpg and b/public/og/zh-nocodb-sso-is-a-licensed-feature.jpg differ diff --git a/public/og/zh-one-hostname-public-tracker-sso-dashboard.jpg b/public/og/zh-one-hostname-public-tracker-sso-dashboard.jpg index 5f5d2d5..c6509a3 100644 Binary files a/public/og/zh-one-hostname-public-tracker-sso-dashboard.jpg and b/public/og/zh-one-hostname-public-tracker-sso-dashboard.jpg differ diff --git a/public/og/zh-one-prometheus-for-unraid-synology-and-a-vps.jpg b/public/og/zh-one-prometheus-for-unraid-synology-and-a-vps.jpg index 9ef0acc..fb380bb 100644 Binary files a/public/og/zh-one-prometheus-for-unraid-synology-and-a-vps.jpg and b/public/og/zh-one-prometheus-for-unraid-synology-and-a-vps.jpg differ diff --git a/public/og/zh-passbolt-hang-three-failure-modes.jpg b/public/og/zh-passbolt-hang-three-failure-modes.jpg index 05a4ea8..a6f748e 100644 Binary files a/public/og/zh-passbolt-hang-three-failure-modes.jpg and b/public/og/zh-passbolt-hang-three-failure-modes.jpg differ diff --git a/public/og/zh-patching-workbench-26-for-mariadb.jpg b/public/og/zh-patching-workbench-26-for-mariadb.jpg index 46ba00b..3a3d7c3 100644 Binary files a/public/og/zh-patching-workbench-26-for-mariadb.jpg and b/public/og/zh-patching-workbench-26-for-mariadb.jpg differ diff --git a/public/og/zh-putting-a-front-door-on-an-app-you-cant-modify.jpg b/public/og/zh-putting-a-front-door-on-an-app-you-cant-modify.jpg index 8b6a94e..86f3667 100644 Binary files a/public/og/zh-putting-a-front-door-on-an-app-you-cant-modify.jpg and b/public/og/zh-putting-a-front-door-on-an-app-you-cant-modify.jpg differ diff --git a/public/og/zh-read-only-nocodb-dashboard-for-a-remote-database.jpg b/public/og/zh-read-only-nocodb-dashboard-for-a-remote-database.jpg index 0c81065..6e87b88 100644 Binary files a/public/og/zh-read-only-nocodb-dashboard-for-a-remote-database.jpg and b/public/og/zh-read-only-nocodb-dashboard-for-a-remote-database.jpg differ diff --git a/public/og/zh-reading-a-containers-own-api-docs.jpg b/public/og/zh-reading-a-containers-own-api-docs.jpg index 6b6d673..7740c4f 100644 Binary files a/public/og/zh-reading-a-containers-own-api-docs.jpg and b/public/og/zh-reading-a-containers-own-api-docs.jpg differ diff --git a/public/og/zh-replacing-rdpguard-with-ipban.jpg b/public/og/zh-replacing-rdpguard-with-ipban.jpg index 2352910..9389f72 100644 Binary files a/public/og/zh-replacing-rdpguard-with-ipban.jpg and b/public/og/zh-replacing-rdpguard-with-ipban.jpg differ diff --git a/public/og/zh-running-production-infrastructure-solo.jpg b/public/og/zh-running-production-infrastructure-solo.jpg index 2be0e2b..dca716d 100644 Binary files a/public/og/zh-running-production-infrastructure-solo.jpg and b/public/og/zh-running-production-infrastructure-solo.jpg differ diff --git a/public/og/zh-running-tts-as-a-service-with-token-sidecars.jpg b/public/og/zh-running-tts-as-a-service-with-token-sidecars.jpg index eb5ab8d..e72ea1b 100644 Binary files a/public/og/zh-running-tts-as-a-service-with-token-sidecars.jpg and b/public/og/zh-running-tts-as-a-service-with-token-sidecars.jpg differ diff --git a/public/og/zh-scraping-bot-walled-marketplace-warm-browser-session.jpg b/public/og/zh-scraping-bot-walled-marketplace-warm-browser-session.jpg index 4d9c8b8..5358016 100644 Binary files a/public/og/zh-scraping-bot-walled-marketplace-warm-browser-session.jpg and b/public/og/zh-scraping-bot-walled-marketplace-warm-browser-session.jpg differ diff --git a/public/og/zh-self-healing-digital-goods-entitlements.jpg b/public/og/zh-self-healing-digital-goods-entitlements.jpg index 14f9f60..ea8d82e 100644 Binary files a/public/og/zh-self-healing-digital-goods-entitlements.jpg and b/public/og/zh-self-healing-digital-goods-entitlements.jpg differ diff --git a/public/og/zh-self-hosted-speech-to-text-api.jpg b/public/og/zh-self-hosted-speech-to-text-api.jpg index 956baa1..686cbf1 100644 Binary files a/public/og/zh-self-hosted-speech-to-text-api.jpg and b/public/og/zh-self-hosted-speech-to-text-api.jpg differ diff --git a/public/og/zh-self-hosting-mem0-memory-stack.jpg b/public/og/zh-self-hosting-mem0-memory-stack.jpg index e821634..57ffd1b 100644 Binary files a/public/og/zh-self-hosting-mem0-memory-stack.jpg and b/public/og/zh-self-hosting-mem0-memory-stack.jpg differ diff --git a/public/og/zh-shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg b/public/og/zh-shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg index 2f8378a..4b01b4a 100644 Binary files a/public/og/zh-shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg and b/public/og/zh-shipping-an-ai-photo-editor-as-a-wordpress-plugin.jpg differ diff --git a/public/og/zh-smartctl-exit-code-32-skips-the-disks-that-matter.jpg b/public/og/zh-smartctl-exit-code-32-skips-the-disks-that-matter.jpg index 90e25ca..ab474c6 100644 Binary files a/public/og/zh-smartctl-exit-code-32-skips-the-disks-that-matter.jpg and b/public/og/zh-smartctl-exit-code-32-skips-the-disks-that-matter.jpg differ diff --git a/public/og/zh-space-reclamation-wasnt-stuck-it-was-waiting.jpg b/public/og/zh-space-reclamation-wasnt-stuck-it-was-waiting.jpg index 93be9c9..f0f702a 100644 Binary files a/public/og/zh-space-reclamation-wasnt-stuck-it-was-waiting.jpg and b/public/og/zh-space-reclamation-wasnt-stuck-it-was-waiting.jpg differ diff --git a/public/og/zh-stop-writing-agent-prompts-for-deterministic-work.jpg b/public/og/zh-stop-writing-agent-prompts-for-deterministic-work.jpg index 77ed1cd..2e2a864 100644 Binary files a/public/og/zh-stop-writing-agent-prompts-for-deterministic-work.jpg and b/public/og/zh-stop-writing-agent-prompts-for-deterministic-work.jpg differ diff --git a/public/og/zh-syncing-a-self-improving-ai-agent-across-machines.jpg b/public/og/zh-syncing-a-self-improving-ai-agent-across-machines.jpg index b12948c..41f9a61 100644 Binary files a/public/og/zh-syncing-a-self-improving-ai-agent-across-machines.jpg and b/public/og/zh-syncing-a-self-improving-ai-agent-across-machines.jpg differ diff --git a/public/og/zh-synology-api-401-with-the-correct-password.jpg b/public/og/zh-synology-api-401-with-the-correct-password.jpg index d8e37be..fed93c6 100644 Binary files a/public/og/zh-synology-api-401-with-the-correct-password.jpg and b/public/og/zh-synology-api-401-with-the-correct-password.jpg differ diff --git a/public/og/zh-synology-spreadsheet-api-is-a-container.jpg b/public/og/zh-synology-spreadsheet-api-is-a-container.jpg index 0845fd5..c1b8d09 100644 Binary files a/public/og/zh-synology-spreadsheet-api-is-a-container.jpg and b/public/og/zh-synology-spreadsheet-api-is-a-container.jpg differ diff --git a/public/og/zh-that-dying-ssd-was-just-a-bad-sata-cable.jpg b/public/og/zh-that-dying-ssd-was-just-a-bad-sata-cable.jpg index 5a76161..0fae87a 100644 Binary files a/public/og/zh-that-dying-ssd-was-just-a-bad-sata-cable.jpg and b/public/og/zh-that-dying-ssd-was-just-a-bad-sata-cable.jpg differ diff --git a/public/og/zh-the-cause-was-trim-not-the-ssds.jpg b/public/og/zh-the-cause-was-trim-not-the-ssds.jpg index cf23e83..b7100b1 100644 Binary files a/public/og/zh-the-cause-was-trim-not-the-ssds.jpg and b/public/og/zh-the-cause-was-trim-not-the-ssds.jpg differ diff --git a/public/og/zh-the-nocodb-attachment-that-wouldnt-update.jpg b/public/og/zh-the-nocodb-attachment-that-wouldnt-update.jpg index fda3ec3..de0d0ae 100644 Binary files a/public/og/zh-the-nocodb-attachment-that-wouldnt-update.jpg and b/public/og/zh-the-nocodb-attachment-that-wouldnt-update.jpg differ diff --git a/public/og/zh-the-upstream-was-deleted-then-came-back-rewritten.jpg b/public/og/zh-the-upstream-was-deleted-then-came-back-rewritten.jpg index b7e4921..26ed6eb 100644 Binary files a/public/og/zh-the-upstream-was-deleted-then-came-back-rewritten.jpg and b/public/og/zh-the-upstream-was-deleted-then-came-back-rewritten.jpg differ diff --git a/public/og/zh-two-ways-a-javascript-file-stops-working-and-looks-fine.jpg b/public/og/zh-two-ways-a-javascript-file-stops-working-and-looks-fine.jpg index 75a9de7..02ce977 100644 Binary files a/public/og/zh-two-ways-a-javascript-file-stops-working-and-looks-fine.jpg and b/public/og/zh-two-ways-a-javascript-file-stops-working-and-looks-fine.jpg differ diff --git a/public/og/zh-unraid-stop-array-hangs-on-swapfile.jpg b/public/og/zh-unraid-stop-array-hangs-on-swapfile.jpg index de8f6ce..bae3ae3 100644 Binary files a/public/og/zh-unraid-stop-array-hangs-on-swapfile.jpg and b/public/og/zh-unraid-stop-array-hangs-on-swapfile.jpg differ diff --git a/public/og/zh-upgrading-codeigniter-46-to-47.jpg b/public/og/zh-upgrading-codeigniter-46-to-47.jpg index 0a600f8..a56df9c 100644 Binary files a/public/og/zh-upgrading-codeigniter-46-to-47.jpg and b/public/og/zh-upgrading-codeigniter-46-to-47.jpg differ diff --git a/public/og/zh-using-chinese-llm-apis-from-malaysia.jpg b/public/og/zh-using-chinese-llm-apis-from-malaysia.jpg index 4e950af..efce6c8 100644 Binary files a/public/og/zh-using-chinese-llm-apis-from-malaysia.jpg and b/public/og/zh-using-chinese-llm-apis-from-malaysia.jpg differ diff --git a/public/og/zh-verifying-a-pdf-report-page-by-page.jpg b/public/og/zh-verifying-a-pdf-report-page-by-page.jpg index 6cfa650..c1efb14 100644 Binary files a/public/og/zh-verifying-a-pdf-report-page-by-page.jpg and b/public/og/zh-verifying-a-pdf-report-page-by-page.jpg differ diff --git a/public/og/zh-vetting-an-open-source-dependency-before-you-bet-on-it.jpg b/public/og/zh-vetting-an-open-source-dependency-before-you-bet-on-it.jpg index ddcf589..c5762e8 100644 Binary files a/public/og/zh-vetting-an-open-source-dependency-before-you-bet-on-it.jpg and b/public/og/zh-vetting-an-open-source-dependency-before-you-bet-on-it.jpg differ diff --git a/public/og/zh-when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg b/public/og/zh-when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg index 5d91925..19f61ac 100644 Binary files a/public/og/zh-when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg and b/public/og/zh-when-smart-says-healthy-but-your-raid-is-corrupting-data.jpg differ diff --git a/public/og/zh-why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg b/public/og/zh-why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg index 16e020b..fa2eb4c 100644 Binary files a/public/og/zh-why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg and b/public/og/zh-why-500000-lines-of-commit-churn-only-left-230000-in-production.jpg differ diff --git a/public/og/zh-why-chrome-forgets-its-tabs-in-a-container.jpg b/public/og/zh-why-chrome-forgets-its-tabs-in-a-container.jpg index 60a2971..e524c36 100644 Binary files a/public/og/zh-why-chrome-forgets-its-tabs-in-a-container.jpg and b/public/og/zh-why-chrome-forgets-its-tabs-in-a-container.jpg differ diff --git a/public/og/zh-why-i-still-bought-a-local-gpu.jpg b/public/og/zh-why-i-still-bought-a-local-gpu.jpg index 95bf6a1..8d3bed1 100644 Binary files a/public/og/zh-why-i-still-bought-a-local-gpu.jpg and b/public/og/zh-why-i-still-bought-a-local-gpu.jpg differ diff --git a/public/og/zh-why-my-on-chain-nft-art-changed-on-windows.jpg b/public/og/zh-why-my-on-chain-nft-art-changed-on-windows.jpg index 661ae6b..561ced7 100644 Binary files a/public/og/zh-why-my-on-chain-nft-art-changed-on-windows.jpg and b/public/og/zh-why-my-on-chain-nft-art-changed-on-windows.jpg differ diff --git a/public/og/zh-why-telegram-bot-notifications-die.jpg b/public/og/zh-why-telegram-bot-notifications-die.jpg index 4d795e2..252443f 100644 Binary files a/public/og/zh-why-telegram-bot-notifications-die.jpg and b/public/og/zh-why-telegram-bot-notifications-die.jpg differ diff --git a/public/og/zh-why-your-cdp-clicks-silently-fail.jpg b/public/og/zh-why-your-cdp-clicks-silently-fail.jpg index ba814d1..b9f80d3 100644 Binary files a/public/og/zh-why-your-cdp-clicks-silently-fail.jpg and b/public/og/zh-why-your-cdp-clicks-silently-fail.jpg differ diff --git a/public/og/zh-why-your-grafana-dashboard-shows-no-data.jpg b/public/og/zh-why-your-grafana-dashboard-shows-no-data.jpg index fa6d986..33a15df 100644 Binary files a/public/og/zh-why-your-grafana-dashboard-shows-no-data.jpg and b/public/og/zh-why-your-grafana-dashboard-shows-no-data.jpg differ diff --git a/public/og/zh-why-your-headless-browser-cant-scrape-everything.jpg b/public/og/zh-why-your-headless-browser-cant-scrape-everything.jpg index a8cfe06..6f32e51 100644 Binary files a/public/og/zh-why-your-headless-browser-cant-scrape-everything.jpg and b/public/og/zh-why-your-headless-browser-cant-scrape-everything.jpg differ diff --git a/public/og/zh-your-disk-full-alert-is-lying.jpg b/public/og/zh-your-disk-full-alert-is-lying.jpg index f37d40a..7239729 100644 Binary files a/public/og/zh-your-disk-full-alert-is-lying.jpg and b/public/og/zh-your-disk-full-alert-is-lying.jpg differ diff --git a/scripts/og-gen/art-meta.json b/scripts/og-gen/art-meta.json index d0a8466..40c2d4e 100644 --- a/scripts/og-gen/art-meta.json +++ b/scripts/og-gen/art-meta.json @@ -32,7 +32,6 @@ "evidence": "VRF v2.5 · mock-funding bug" }, "docker-reported-exit-0-the-oom-killer-disagreed": { - "art": "C:/AI/ideogram4/out/sample_oom_169_00001_.png", "evidence": "exit 0 · dmesg: 6x cgroup OOM kills" }, "does-hevc-actually-shrink-your-files": { @@ -120,7 +119,6 @@ "evidence": "RDPGuard 7.8.7 → IPBan 4.1.0 · 12 IPs" }, "running-production-infrastructure-solo": { - "art": "C:/AI/ideogram4/out/sample_prod_169_00001_.png", "evidence": "162 containers · 3 hosts · 78 compose stacks" }, "running-tts-as-a-service-with-token-sidecars": { diff --git a/scripts/og-gen/banner-plan.json b/scripts/og-gen/banner-plan.json new file mode 100644 index 0000000..3476147 --- /dev/null +++ b/scripts/og-gen/banner-plan.json @@ -0,0 +1,1736 @@ +{ + "banner": [ + 1600, + 900 + ], + "frames": { + "adding-a-domain-to-someone-elses-mail-server": { + "sw": 1915, + "sh": 1082, + "left": 576, + "top": 96, + "fill": [ + 6, + 9, + 14 + ], + "zoom": 1.408, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 750, + 120, + 1284, + 656 + ], + "source_size": [ + 1360, + 768 + ] + }, + "adding-english-mode-to-a-chinese-only-web-app": { + "sw": 1912, + "sh": 1080, + "left": 576, + "top": 71, + "fill": [ + 10, + 16, + 28 + ], + "zoom": 1.406, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 751, + 117, + 1286, + 625 + ], + "source_size": [ + 1360, + 768 + ] + }, + "ai-furniture-compositing-with-flux-kontext": { + "sw": 2356, + "sh": 1331, + "left": 842, + "top": 127, + "fill": [ + 9, + 13, + 19 + ], + "zoom": 1.733, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 763, + 126, + 1197, + 540 + ], + "source_size": [ + 1360, + 768 + ] + }, + "authentik-css-greater-than-bug": { + "sw": 1937, + "sh": 1094, + "left": 600, + "top": 104, + "fill": [ + 7, + 11, + 16 + ], + "zoom": 1.424, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 126, + 1286, + 652 + ], + "source_size": [ + 1360, + 768 + ] + }, + "authentik-forward-auth-gate-wasnt-live": { + "sw": 1944, + "sh": 1098, + "left": 604, + "top": 104, + "fill": [ + 11, + 18, + 27 + ], + "zoom": 1.43, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 110, + 1284, + 665 + ], + "source_size": [ + 1360, + 768 + ] + }, + "authentik-major-upgrade-gotchas": { + "sw": 1908, + "sh": 1077, + "left": 575, + "top": 89, + "fill": [ + 7, + 14, + 16 + ], + "zoom": 1.403, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 752, + 131, + 1288, + 637 + ], + "source_size": [ + 1360, + 768 + ] + }, + "automating-cyberpanel-without-the-ui": { + "sw": 1926, + "sh": 1088, + "left": 586, + "top": 98, + "fill": [ + 8, + 12, + 18 + ], + "zoom": 1.416, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 753, + 121, + 1284, + 653 + ], + "source_size": [ + 1360, + 768 + ] + }, + "best-ai-video-generators-2026": { + "sw": 1959, + "sh": 1106, + "left": 608, + "top": 100, + "fill": [ + 8, + 10, + 19 + ], + "zoom": 1.441, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 755, + 117, + 1277, + 646 + ], + "source_size": [ + 1360, + 768 + ] + }, + "calibrating-intel-quick-sync-hevc-quality": { + "sw": 1930, + "sh": 1090, + "left": 594, + "top": 101, + "fill": [ + 12, + 17, + 23 + ], + "zoom": 1.419, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 757, + 124, + 1287, + 653 + ], + "source_size": [ + 1360, + 768 + ] + }, + "chainlink-vrf-v2-lottery-contract": { + "sw": 1941, + "sh": 1096, + "left": 603, + "top": 101, + "fill": [ + 3, + 5, + 11 + ], + "zoom": 1.427, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 759, + 120, + 1286, + 652 + ], + "source_size": [ + 1360, + 768 + ] + }, + "docker-reported-exit-0-the-oom-killer-disagreed": { + "sw": 1944, + "sh": 1098, + "left": 611, + "top": 102, + "fill": [ + 9, + 15, + 24 + ], + "zoom": 1.43, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 763, + 118, + 1289, + 654 + ], + "source_size": [ + 1360, + 768 + ] + }, + "does-hevc-actually-shrink-your-files": { + "sw": 2153, + "sh": 1216, + "left": 817, + "top": 164, + "fill": [ + 17, + 25, + 40 + ], + "zoom": 1.583, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 819, + 120, + 1294, + 656 + ], + "source_size": [ + 1360, + 768 + ] + }, + "embedding-fonts-so-a-pdf-looks-the-same-everywhere": { + "sw": 1930, + "sh": 1090, + "left": 596, + "top": 88, + "fill": [ + 9, + 15, + 25 + ], + "zoom": 1.419, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 117, + 1288, + 641 + ], + "source_size": [ + 1360, + 768 + ] + }, + "every-player-stuttered-the-file-was-fine": { + "sw": 1870, + "sh": 1056, + "left": 554, + "top": 79, + "fill": [ + 20, + 26, + 35 + ], + "zoom": 1.375, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 752, + 117, + 1299, + 652 + ], + "source_size": [ + 1360, + 768 + ] + }, + "five-step-ai-roadmap-what-i-actually-run": { + "sw": 1990, + "sh": 1124, + "left": 647, + "top": 110, + "fill": [ + 5, + 8, + 11 + ], + "zoom": 1.463, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 770, + 123, + 1284, + 642 + ], + "source_size": [ + 1360, + 768 + ] + }, + "fully-on-chain-svg-nfts": { + "sw": 1952, + "sh": 1102, + "left": 609, + "top": 105, + "fill": [ + 5, + 9, + 13 + ], + "zoom": 1.435, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 759, + 120, + 1283, + 654 + ], + "source_size": [ + 1360, + 768 + ] + }, + "hardening-a-tor-onion-service": { + "sw": 1952, + "sh": 1102, + "left": 612, + "top": 101, + "fill": [ + 11, + 21, + 32 + ], + "zoom": 1.435, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 761, + 116, + 1285, + 652 + ], + "source_size": [ + 1360, + 768 + ] + }, + "hello-world": { + "sw": 2817, + "sh": 1591, + "left": 1339, + "top": 291, + "fill": [ + 11, + 14, + 21 + ], + "zoom": 2.072, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 878, + 158, + 1241, + 557 + ], + "source_size": [ + 1360, + 768 + ] + }, + "how-i-built-the-digikedai-telegram-bot": { + "sw": 1978, + "sh": 1117, + "left": 623, + "top": 103, + "fill": [ + 6, + 11, + 14 + ], + "zoom": 1.455, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 117, + 1275, + 643 + ], + "source_size": [ + 1360, + 768 + ] + }, + "how-i-host-this-blog": { + "sw": 1926, + "sh": 1088, + "left": 584, + "top": 86, + "fill": [ + 7, + 13, + 18 + ], + "zoom": 1.416, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 751, + 117, + 1282, + 640 + ], + "source_size": [ + 1360, + 768 + ] + }, + "how-i-made-my-own-songs-with-suno-ai": { + "sw": 2412, + "sh": 1362, + "left": 907, + "top": 171, + "fill": [ + 6, + 8, + 18 + ], + "zoom": 1.774, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 782, + 115, + 1206, + 585 + ], + "source_size": [ + 1360, + 768 + ] + }, + "how-i-vetted-20-vps-providers-with-parallel-subagents": { + "sw": 1937, + "sh": 1094, + "left": 598, + "top": 98, + "fill": [ + 5, + 9, + 11 + ], + "zoom": 1.424, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 757, + 117, + 1285, + 652 + ], + "source_size": [ + 1360, + 768 + ] + }, + "how-to-verify-a-hosting-provider-before-you-buy": { + "sw": 1944, + "sh": 1098, + "left": 607, + "top": 106, + "fill": [ + 6, + 13, + 21 + ], + "zoom": 1.43, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 760, + 122, + 1286, + 656 + ], + "source_size": [ + 1360, + 768 + ] + }, + "i-let-an-agent-manage-my-shopee-vouchers": { + "sw": 1912, + "sh": 1080, + "left": 578, + "top": 95, + "fill": [ + 5, + 9, + 12 + ], + "zoom": 1.406, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 753, + 120, + 1288, + 656 + ], + "source_size": [ + 1360, + 768 + ] + }, + "it-reported-success-nothing-had-changed": { + "sw": 1933, + "sh": 1092, + "left": 596, + "top": 99, + "fill": [ + 2, + 7, + 13 + ], + "zoom": 1.422, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 757, + 118, + 1286, + 655 + ], + "source_size": [ + 1360, + 768 + ] + }, + "jpa-version-field-lost-update": { + "sw": 1937, + "sh": 1094, + "left": 600, + "top": 101, + "fill": [ + 12, + 18, + 26 + ], + "zoom": 1.424, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 121, + 1286, + 653 + ], + "source_size": [ + 1360, + 768 + ] + }, + "loop-engineering-without-a-coding-agent": { + "sw": 1937, + "sh": 1094, + "left": 598, + "top": 102, + "fill": [ + 2, + 8, + 14 + ], + "zoom": 1.424, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 757, + 116, + 1285, + 659 + ], + "source_size": [ + 1360, + 768 + ] + }, + "migrating-codeigniter-iis-to-openlitespeed": { + "sw": 1926, + "sh": 1088, + "left": 589, + "top": 95, + "fill": [ + 13, + 16, + 23 + ], + "zoom": 1.416, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 755, + 117, + 1286, + 652 + ], + "source_size": [ + 1360, + 768 + ] + }, + "my-backup-was-using-someone-elses-api-quota": { + "sw": 3653, + "sh": 2063, + "left": 1867, + "top": 333, + "fill": [ + 7, + 10, + 19 + ], + "zoom": 2.686, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 874, + 139, + 1154, + 444 + ], + "source_size": [ + 1360, + 768 + ] + }, + "n8n-v1-to-v2-upgrade-gotchas": { + "sw": 1941, + "sh": 1096, + "left": 602, + "top": 101, + "fill": [ + 5, + 9, + 15 + ], + "zoom": 1.427, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 121, + 1285, + 651 + ], + "source_size": [ + 1360, + 768 + ] + }, + "nocodb-sso-is-a-licensed-feature": { + "sw": 2472, + "sh": 1396, + "left": 858, + "top": 238, + "fill": [ + 6, + 8, + 13 + ], + "zoom": 1.818, + "silhouette": 0.4271, + "cut": 0.0497, + "band": [ + 755, + 118, + 1131, + 639 + ], + "source_size": [ + 1360, + 768 + ] + }, + "one-hostname-public-tracker-sso-dashboard": { + "sw": 1912, + "sh": 1080, + "left": 581, + "top": 88, + "fill": [ + 5, + 10, + 15 + ], + "zoom": 1.406, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 755, + 117, + 1290, + 649 + ], + "source_size": [ + 1360, + 768 + ] + }, + "one-prometheus-for-unraid-synology-and-a-vps": { + "sw": 1974, + "sh": 1115, + "left": 613, + "top": 82, + "fill": [ + 9, + 13, + 20 + ], + "zoom": 1.452, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 753, + 123, + 1271, + 610 + ], + "source_size": [ + 1360, + 768 + ] + }, + "passbolt-hang-three-failure-modes": { + "sw": 1998, + "sh": 1128, + "left": 644, + "top": 104, + "fill": [ + 6, + 12, + 22 + ], + "zoom": 1.469, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 765, + 117, + 1277, + 637 + ], + "source_size": [ + 1360, + 768 + ] + }, + "patching-workbench-26-for-mariadb": { + "sw": 1994, + "sh": 1126, + "left": 621, + "top": 91, + "fill": [ + 8, + 14, + 20 + ], + "zoom": 1.466, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 751, + 119, + 1264, + 619 + ], + "source_size": [ + 1360, + 768 + ] + }, + "putting-a-front-door-on-an-app-you-cant-modify": { + "sw": 1930, + "sh": 1090, + "left": 604, + "top": 102, + "fill": [ + 14, + 18, + 30 + ], + "zoom": 1.419, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 764, + 123, + 1294, + 655 + ], + "source_size": [ + 1360, + 768 + ] + }, + "read-only-nocodb-dashboard-for-a-remote-database": { + "sw": 1937, + "sh": 1094, + "left": 595, + "top": 98, + "fill": [ + 8, + 15, + 22 + ], + "zoom": 1.424, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 755, + 117, + 1283, + 652 + ], + "source_size": [ + 1360, + 768 + ] + }, + "reading-a-containers-own-api-docs": { + "sw": 1982, + "sh": 1119, + "left": 638, + "top": 110, + "fill": [ + 10, + 14, + 18 + ], + "zoom": 1.457, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 767, + 120, + 1283, + 648 + ], + "source_size": [ + 1360, + 768 + ] + }, + "replacing-rdpguard-with-ipban": { + "sw": 2711, + "sh": 1531, + "left": 1130, + "top": 392, + "fill": [ + 14, + 21, + 32 + ], + "zoom": 1.994, + "silhouette": 0.3987, + "cut": 0.0495, + "band": [ + 836, + 185, + 1156, + 660 + ], + "source_size": [ + 1360, + 768 + ] + }, + "running-production-infrastructure-solo": { + "sw": 2001, + "sh": 1130, + "left": 630, + "top": 97, + "fill": [ + 15, + 22, + 26 + ], + "zoom": 1.472, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 754, + 170, + 1265, + 574 + ], + "source_size": [ + 1360, + 768 + ] + }, + "running-tts-as-a-service-with-token-sidecars": { + "sw": 2441, + "sh": 1378, + "left": 900, + "top": 237, + "fill": [ + 7, + 11, + 21 + ], + "zoom": 1.795, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 769, + 136, + 1188, + 630 + ], + "source_size": [ + 1360, + 768 + ] + }, + "scraping-bot-walled-marketplace-warm-browser-session": { + "sw": 1933, + "sh": 1092, + "left": 595, + "top": 102, + "fill": [ + 9, + 13, + 21 + ], + "zoom": 1.422, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 756, + 125, + 1285, + 651 + ], + "source_size": [ + 1360, + 768 + ] + }, + "self-healing-digital-goods-entitlements": { + "sw": 2429, + "sh": 1372, + "left": 947, + "top": 139, + "fill": [ + 8, + 11, + 16 + ], + "zoom": 1.786, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 799, + 121, + 1220, + 539 + ], + "source_size": [ + 1360, + 768 + ] + }, + "self-hosted-speech-to-text-api": { + "sw": 1937, + "sh": 1094, + "left": 598, + "top": 100, + "fill": [ + 2, + 7, + 14 + ], + "zoom": 1.424, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 757, + 123, + 1285, + 650 + ], + "source_size": [ + 1360, + 768 + ] + }, + "self-hosting-mem0-memory-stack": { + "sw": 1926, + "sh": 1088, + "left": 591, + "top": 85, + "fill": [ + 14, + 20, + 26 + ], + "zoom": 1.416, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 756, + 115, + 1287, + 641 + ], + "source_size": [ + 1360, + 768 + ] + }, + "shipping-an-ai-photo-editor-as-a-wordpress-plugin": { + "sw": 2258, + "sh": 1275, + "left": 778, + "top": 177, + "fill": [ + 5, + 8, + 15 + ], + "zoom": 1.66, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 135, + 1211, + 620 + ], + "source_size": [ + 1360, + 768 + ] + }, + "smartctl-exit-code-32-skips-the-disks-that-matter": { + "sw": 2005, + "sh": 1132, + "left": 669, + "top": 98, + "fill": [ + 4, + 8, + 12 + ], + "zoom": 1.475, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 779, + 177, + 1289, + 566 + ], + "source_size": [ + 1360, + 768 + ] + }, + "space-reclamation-wasnt-stuck-it-was-waiting": { + "sw": 1894, + "sh": 1070, + "left": 571, + "top": 86, + "fill": [ + 13, + 18, + 25 + ], + "zoom": 1.393, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 755, + 117, + 1295, + 653 + ], + "source_size": [ + 1360, + 768 + ] + }, + "stop-writing-agent-prompts-for-deterministic-work": { + "sw": 2218, + "sh": 1253, + "left": 748, + "top": 84, + "fill": [ + 7, + 14, + 19 + ], + "zoom": 1.631, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 753, + 119, + 1214, + 536 + ], + "source_size": [ + 1360, + 768 + ] + }, + "syncing-a-self-improving-ai-agent-across-machines": { + "sw": 1952, + "sh": 1102, + "left": 608, + "top": 103, + "fill": [ + 16, + 25, + 36 + ], + "zoom": 1.435, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 116, + 1282, + 655 + ], + "source_size": [ + 1360, + 768 + ] + }, + "synology-api-401-with-the-correct-password": { + "sw": 2162, + "sh": 1221, + "left": 725, + "top": 115, + "fill": [ + 13, + 18, + 28 + ], + "zoom": 1.59, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 116, + 1231, + 595 + ], + "source_size": [ + 1360, + 768 + ] + }, + "synology-spreadsheet-api-is-a-container": { + "sw": 1959, + "sh": 1106, + "left": 618, + "top": 84, + "fill": [ + 10, + 20, + 27 + ], + "zoom": 1.441, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 762, + 116, + 1284, + 626 + ], + "source_size": [ + 1360, + 768 + ] + }, + "that-dying-ssd-was-just-a-bad-sata-cable": { + "sw": 1912, + "sh": 1080, + "left": 573, + "top": 84, + "fill": [ + 14, + 20, + 29 + ], + "zoom": 1.406, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 749, + 118, + 1284, + 642 + ], + "source_size": [ + 1360, + 768 + ] + }, + "the-cause-was-trim-not-the-ssds": { + "sw": 1944, + "sh": 1098, + "left": 604, + "top": 96, + "fill": [ + 4, + 9, + 14 + ], + "zoom": 1.43, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 116, + 1284, + 648 + ], + "source_size": [ + 1360, + 768 + ] + }, + "the-nocodb-attachment-that-wouldnt-update": { + "sw": 1905, + "sh": 1075, + "left": 579, + "top": 90, + "fill": [ + 6, + 9, + 14 + ], + "zoom": 1.4, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 756, + 118, + 1293, + 653 + ], + "source_size": [ + 1360, + 768 + ] + }, + "the-upstream-was-deleted-then-came-back-rewritten": { + "sw": 1696, + "sh": 958, + "left": 265, + "top": 34, + "fill": [ + 8, + 11, + 17 + ], + "zoom": 1.247, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 597, + 119, + 1200, + 657 + ], + "source_size": [ + 1360, + 768 + ] + }, + "two-ways-a-javascript-file-stops-working-and-looks-fine": { + "sw": 1933, + "sh": 1092, + "left": 596, + "top": 93, + "fill": [ + 2, + 4, + 9 + ], + "zoom": 1.422, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 757, + 114, + 1286, + 650 + ], + "source_size": [ + 1360, + 768 + ] + }, + "unraid-stop-array-hangs-on-swapfile": { + "sw": 1883, + "sh": 1064, + "left": 556, + "top": 83, + "fill": [ + 13, + 19, + 27 + ], + "zoom": 1.385, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 748, + 116, + 1291, + 654 + ], + "source_size": [ + 1360, + 768 + ] + }, + "upgrading-codeigniter-46-to-47": { + "sw": 2001, + "sh": 1130, + "left": 638, + "top": 111, + "fill": [ + 11, + 14, + 22 + ], + "zoom": 1.472, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 760, + 120, + 1271, + 642 + ], + "source_size": [ + 1360, + 768 + ] + }, + "using-chinese-llm-apis-from-malaysia": { + "sw": 2448, + "sh": 1383, + "left": 879, + "top": 241, + "fill": [ + 2, + 5, + 9 + ], + "zoom": 1.8, + "silhouette": 0.4287, + "cut": 0.0498, + "band": [ + 773, + 121, + 1154, + 647 + ], + "source_size": [ + 1360, + 768 + ] + }, + "verifying-a-pdf-report-page-by-page": { + "sw": 1926, + "sh": 1088, + "left": 588, + "top": 104, + "fill": [ + 4, + 7, + 10 + ], + "zoom": 1.416, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 754, + 132, + 1285, + 651 + ], + "source_size": [ + 1360, + 768 + ] + }, + "vetting-an-open-source-dependency-before-you-bet-on-it": { + "sw": 1922, + "sh": 1086, + "left": 589, + "top": 95, + "fill": [ + 14, + 19, + 24 + ], + "zoom": 1.414, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 756, + 120, + 1288, + 651 + ], + "source_size": [ + 1360, + 768 + ] + }, + "when-smart-says-healthy-but-your-raid-is-corrupting-data": { + "sw": 1926, + "sh": 1088, + "left": 588, + "top": 95, + "fill": [ + 6, + 12, + 17 + ], + "zoom": 1.416, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 754, + 119, + 1285, + 651 + ], + "source_size": [ + 1360, + 768 + ] + }, + "why-500000-lines-of-commit-churn-only-left-230000-in-production": { + "sw": 1912, + "sh": 1080, + "left": 576, + "top": 92, + "fill": [ + 12, + 18, + 27 + ], + "zoom": 1.406, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 751, + 118, + 1286, + 653 + ], + "source_size": [ + 1360, + 768 + ] + }, + "why-chrome-forgets-its-tabs-in-a-container": { + "sw": 1952, + "sh": 1102, + "left": 614, + "top": 105, + "fill": [ + 5, + 10, + 17 + ], + "zoom": 1.435, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 762, + 122, + 1286, + 652 + ], + "source_size": [ + 1360, + 768 + ] + }, + "why-i-still-bought-a-local-gpu": { + "sw": 2041, + "sh": 1153, + "left": 655, + "top": 143, + "fill": [ + 5, + 8, + 11 + ], + "zoom": 1.501, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 756, + 162, + 1257, + 628 + ], + "source_size": [ + 1360, + 768 + ] + }, + "why-my-on-chain-nft-art-changed-on-windows": { + "sw": 1915, + "sh": 1082, + "left": 582, + "top": 97, + "fill": [ + 9, + 13, + 20 + ], + "zoom": 1.408, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 754, + 123, + 1288, + 654 + ], + "source_size": [ + 1360, + 768 + ] + }, + "why-telegram-bot-notifications-die": { + "sw": 1952, + "sh": 1102, + "left": 608, + "top": 105, + "fill": [ + 12, + 18, + 26 + ], + "zoom": 1.435, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 758, + 117, + 1282, + 657 + ], + "source_size": [ + 1360, + 768 + ] + }, + "why-your-cdp-clicks-silently-fail": { + "sw": 1887, + "sh": 1066, + "left": 566, + "top": 72, + "fill": [ + 14, + 20, + 29 + ], + "zoom": 1.387, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 754, + 119, + 1296, + 634 + ], + "source_size": [ + 1360, + 768 + ] + }, + "why-your-grafana-dashboard-shows-no-data": { + "sw": 2109, + "sh": 1191, + "left": 686, + "top": 150, + "fill": [ + 11, + 16, + 22 + ], + "zoom": 1.551, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 752, + 119, + 1237, + 655 + ], + "source_size": [ + 1360, + 768 + ] + }, + "why-your-headless-browser-cant-scrape-everything": { + "sw": 1933, + "sh": 1092, + "left": 593, + "top": 44, + "fill": [ + 6, + 11, + 23 + ], + "zoom": 1.422, + "silhouette": 0.47, + "cut": 0.0, + "band": [ + 755, + 119, + 1284, + 576 + ], + "source_size": [ + 1360, + 768 + ] + }, + "your-disk-full-alert-is-lying": { + "sw": 2293, + "sh": 1295, + "left": 921, + "top": 210, + "fill": [ + 15, + 21, + 30 + ], + "zoom": 1.686, + "silhouette": 0.47, + "cut": 0.0278, + "band": [ + 831, + 117, + 1277, + 666 + ], + "source_size": [ + 1360, + 768 + ] + } + } +} diff --git a/scripts/og-gen/build_art_meta.py b/scripts/og-gen/build_art_meta.py index a6cb797..cb70cd9 100644 --- a/scripts/og-gen/build_art_meta.py +++ b/scripts/og-gen/build_art_meta.py @@ -7,8 +7,8 @@ that exists in that post's body — nothing is derived from the title, and nothi invented. The renderer refuses to run for a slug that has no entry, so this file is also the checklist for the 72-post rollout. -The two hand-accepted sample entries keep their explicit `art` paths; every other -slug uses the renderer's default `/.png`, so they need no `art` key. +Every slug uses the renderer's default `/.png`, so no entry needs an `art` +key — that is what lets `banner-plan.json` (keyed by slug) cover all of them. Usage: python scripts/og-gen/build_art_meta.py # rewrite art-meta.json python scripts/og-gen/build_art_meta.py --check # report coverage only @@ -107,11 +107,12 @@ EVIDENCE: dict[str, str] = { "your-disk-full-alert-is-lying": "3% free = 500 GB · alert fires wrong way", } -# The two consultant samples keep their explicit frame paths. -ART_OVERRIDES = { - "running-production-infrastructure-solo": "C:/AI/ideogram4/out/sample_prod_169_00001_.png", - "docker-reported-exit-0-the-oom-killer-disagreed": "C:/AI/ideogram4/out/sample_oom_169_00001_.png", -} +# No overrides any more. Two slugs used to point at the hand-accepted consultant samples +# (sample_oom_169_00001_.png / sample_prod_169_00001_.png); those frames were the ones that +# carried the HUD readouts the consultant flagged, and both slugs now have proper zero-text +# art of their own, so every entry goes through the renderer's default `/.png`. +# Keeping the old paths would also hide them from banner-plan.json, which is keyed by slug. +ART_OVERRIDES: dict = {} def main() -> None: diff --git a/scripts/og-gen/captions/adding-a-domain-to-someone-elses-mail-server.json b/scripts/og-gen/captions/adding-a-domain-to-someone-elses-mail-server.json index c225eec..45c96b5 100644 --- a/scripts/og-gen/captions/adding-a-domain-to-someone-elses-mail-server.json +++ b/scripts/og-gen/captions/adding-a-domain-to-someone-elses-mail-server.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle plate. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle wall. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/adding-english-mode-to-a-chinese-only-web-app.json b/scripts/og-gen/captions/adding-english-mode-to-a-chinese-only-web-app.json index 2552509..15be71a 100644 --- a/scripts/og-gen/captions/adding-english-mode-to-a-chinese-only-web-app.json +++ b/scripts/og-gen/captions/adding-english-mode-to-a-chinese-only-web-app.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A monolithic dark application cube whose sealed front face carries two sliding glass plaques bearing different scripts, the second plaque being lifted into position by a precision gantry clamp at the doorway. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A monolithic dark application cube whose sealed front face carries two sliding glass plaques bearing different scripts, the second plaque being lifted into position by a precision gantry clamp at the doorway. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/ai-furniture-compositing-with-flux-kontext.json b/scripts/og-gen/captions/ai-furniture-compositing-with-flux-kontext.json index 7c7215c..6d10760 100644 --- a/scripts/og-gen/captions/ai-furniture-compositing-with-flux-kontext.json +++ b/scripts/og-gen/captions/ai-furniture-compositing-with-flux-kontext.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A matte dark lounge chair module seated into a cut-away room diorama cube, its original studio backdrop peeling away as a curled translucent film sheet. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A matte dark lounge chair module seated into a cut-away room diorama cube, its original studio backdrop peeling away as a curled translucent film sheet. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/authentik-css-greater-than-bug.json b/scripts/og-gen/captions/authentik-css-greater-than-bug.json index e9a5506..756e3ad 100644 --- a/scripts/og-gen/captions/authentik-css-greater-than-bug.json +++ b/scripts/og-gen/captions/authentik-css-greater-than-bug.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A single oversized angular chevron wedge jammed into a hairline seam of a frosted glass control panel, splitting the panel's edge glow into misaligned fragments. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A single oversized angular chevron wedge jammed into a hairline seam of a frosted glass control panel, splitting the panel's edge glow into misaligned fragments. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/authentik-forward-auth-gate-wasnt-live.json b/scripts/og-gen/captions/authentik-forward-auth-gate-wasnt-live.json index 06184ac..fd94e44 100644 --- a/scripts/og-gen/captions/authentik-forward-auth-gate-wasnt-live.json +++ b/scripts/og-gen/captions/authentik-forward-auth-gate-wasnt-live.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two gate arches standing in series, the inner arch sealed by a tight blue light curtain while the outer arch hangs fully open with a stream of light passing straight through it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two gate arches standing in series, the inner arch sealed by a tight blue light curtain while the outer arch hangs fully open with a stream of light passing straight through it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/authentik-major-upgrade-gotchas.json b/scripts/og-gen/captions/authentik-major-upgrade-gotchas.json index 3383f95..2936d1c 100644 --- a/scripts/og-gen/captions/authentik-major-upgrade-gotchas.json +++ b/scripts/og-gen/captions/authentik-major-upgrade-gotchas.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A stack of obsidian anniversary plinths where the topmost slab has just been swapped in, its mounting pegs misaligned so three small crystal key tags tumble out of their sockets. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A stack of obsidian anniversary plinths where the topmost slab has just been swapped in, its mounting pegs misaligned so three small crystal key tags tumble out of their sockets. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/automating-cyberpanel-without-the-ui.json b/scripts/og-gen/captions/automating-cyberpanel-without-the-ui.json index 529779a..db779ce 100644 --- a/scripts/og-gen/captions/automating-cyberpanel-without-the-ui.json +++ b/scripts/og-gen/captions/automating-cyberpanel-without-the-ui.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A slim robotic probe arm reaching behind the polished facade of a dark server control panel, plugging into exposed circuit contacts concealed behind the front glass. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A slim robotic probe arm reaching behind the polished facade of a dark server control panel, plugging into exposed circuit contacts concealed behind the front glass. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/best-ai-video-generators-2026.json b/scripts/og-gen/captions/best-ai-video-generators-2026.json index 3764c0b..66e766f 100644 --- a/scripts/og-gen/captions/best-ai-video-generators-2026.json +++ b/scripts/og-gen/captions/best-ai-video-generators-2026.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A rack of five glowing film reels of differing sizes, one heavy obsidian reel grounded on a heatsink pedestal while the others float as translucent holograms trailed by thin price-tag slivers. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A rack of five glowing film reels of differing sizes, one heavy obsidian reel grounded on a heatsink pedestal while the others float as translucent holograms trailed by thin price-tag slivers. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/calibrating-intel-quick-sync-hevc-quality.json b/scripts/og-gen/captions/calibrating-intel-quick-sync-hevc-quality.json index ef0cb70..3daf1c6 100644 --- a/scripts/og-gen/captions/calibrating-intel-quick-sync-hevc-quality.json +++ b/scripts/og-gen/captions/calibrating-intel-quick-sync-hevc-quality.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with electric cyan (#22d3ee) calibration light and soft ultraviolet spill and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#7C5CFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A 3D topographic luminous video waveform mountain dropping off a 90-degree vertical cliff edge marked at 28, flanked by two perfectly identical overlapping optical calibration prisms. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with electric cyan (#22d3ee) calibration light and soft ultraviolet spill and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#7C5CFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A 3D topographic luminous video waveform mountain whose face drops off a 90-degree vertical cliff edge, flanked by two perfectly identical overlapping optical calibration prisms. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/chainlink-vrf-v2-lottery-contract.json b/scripts/og-gen/captions/chainlink-vrf-v2-lottery-contract.json index 2a6dfdc..ca7adb9 100644 --- a/scripts/og-gen/captions/chainlink-vrf-v2-lottery-contract.json +++ b/scripts/og-gen/captions/chainlink-vrf-v2-lottery-contract.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with translucent emerald (#10b981) prism light split into cyan fringes and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#10B981","#22D3EE","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a notarized proof disc hovering just outside the case. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with translucent emerald (#10b981) prism light split into cyan fringes and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#10B981","#22D3EE","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a polished glass orb hovering just outside the case. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/docker-reported-exit-0-the-oom-killer-disagreed.json b/scripts/og-gen/captions/docker-reported-exit-0-the-oom-killer-disagreed.json index fe92df4..3ff9c05 100644 --- a/scripts/og-gen/captions/docker-reported-exit-0-the-oom-killer-disagreed.json +++ b/scripts/og-gen/captions/docker-reported-exit-0-the-oom-killer-disagreed.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A translucent glass server cube displaying a deceptive green heartbeat light while a razor-sharp crimson beam slices horizontally through its bottom core, scattering fractured memory crystals. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A translucent glass server cube displaying a deceptive green heartbeat light while a razor-sharp crimson beam slices horizontally through its bottom core, scattering fractured memory crystals. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/does-hevc-actually-shrink-your-files.json b/scripts/og-gen/captions/does-hevc-actually-shrink-your-files.json index 2e58cfb..fae93b0 100644 --- a/scripts/og-gen/captions/does-hevc-actually-shrink-your-files.json +++ b/scripts/og-gen/captions/does-hevc-actually-shrink-your-files.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with electric cyan (#22d3ee) calibration light and soft ultraviolet spill and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#7C5CFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Three matched glass vials of compressed film ribbon standing on a dark calibration scale, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with electric cyan (#22d3ee) calibration light and soft ultraviolet spill and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#7C5CFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Three matched glass vials of compressed film ribbon standing on a dark calibration bench, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/embedding-fonts-so-a-pdf-looks-the-same-everywhere.json b/scripts/og-gen/captions/embedding-fonts-so-a-pdf-looks-the-same-everywhere.json index b8b8bc2..a40965e 100644 --- a/scripts/og-gen/captions/embedding-fonts-so-a-pdf-looks-the-same-everywhere.json +++ b/scripts/og-gen/captions/embedding-fonts-so-a-pdf-looks-the-same-everywhere.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A sealed obsidian press frame holding one smooth unmarked crystal sheet, lit identically through three differently angled viewing ports. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A sealed obsidian press frame holding one smooth unmarked crystal sheet, lit identically through three differently angled viewing ports. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/every-player-stuttered-the-file-was-fine.json b/scripts/og-gen/captions/every-player-stuttered-the-file-was-fine.json index 4cdc3c5..77184e7 100644 --- a/scripts/og-gen/captions/every-player-stuttered-the-file-was-fine.json +++ b/scripts/og-gen/captions/every-player-stuttered-the-file-was-fine.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost frame onto a translucent projection screen. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost shadow onto a translucent glass slab. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/five-step-ai-roadmap-what-i-actually-run.json b/scripts/og-gen/captions/five-step-ai-roadmap-what-i-actually-run.json index 34be1ba..209df5d 100644 --- a/scripts/og-gen/captions/five-step-ai-roadmap-what-i-actually-run.json +++ b/scripts/og-gen/captions/five-step-ai-roadmap-what-i-actually-run.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A five-tier architectural staircase in dark graphite, the middle tiers brightly illuminated with active hardware racks while the speculative top tiers remain skeletal wireframes. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A five-tier architectural staircase in dark graphite, the middle tiers brightly illuminated with active hardware racks while the speculative top tiers remain skeletal wireframes. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/fully-on-chain-svg-nfts.json b/scripts/og-gen/captions/fully-on-chain-svg-nfts.json index 5de673f..2cf67aa 100644 --- a/scripts/og-gen/captions/fully-on-chain-svg-nfts.json +++ b/scripts/og-gen/captions/fully-on-chain-svg-nfts.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with translucent emerald (#10b981) prism light split into cyan fringes and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#10B981","#22D3EE","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A crystalline art plaque sealed completely inside a transparent contract block, its imagery carved directly into the block's inner facets rather than mounted on any external frame. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with translucent emerald (#10b981) prism light split into cyan fringes and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#10B981","#22D3EE","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A crystalline art plaque sealed completely inside a transparent contract block, its imagery carved directly into the block's inner facets rather than mounted on any external frame. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/hardening-a-tor-onion-service.json b/scripts/og-gen/captions/hardening-a-tor-onion-service.json index 3ecf3da..8bebc9d 100644 --- a/scripts/og-gen/captions/hardening-a-tor-onion-service.json +++ b/scripts/og-gen/captions/hardening-a-tor-onion-service.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A matte black multi-shell relay tower of stacked concentric domes, each layer locked by a brass ring, with a single narrow sealed ingress slit glowing soft violet. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A matte black multi-shell relay tower of stacked concentric domes, each layer locked by a brass ring, with a single narrow sealed ingress slit glowing soft violet. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/hello-world.json b/scripts/og-gen/captions/hello-world.json index 98c413a..f9788aa 100644 --- a/scripts/og-gen/captions/hello-world.json +++ b/scripts/og-gen/captions/hello-world.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing indicator at its corner. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing pinpoint of light at its corner. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/how-i-built-the-digikedai-telegram-bot.json b/scripts/og-gen/captions/how-i-built-the-digikedai-telegram-bot.json index 39c4ccf..c97b73d 100644 --- a/scripts/og-gen/captions/how-i-built-the-digikedai-telegram-bot.json +++ b/scripts/og-gen/captions/how-i-built-the-digikedai-telegram-bot.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A folded paper-plane shaped obsidian drone docked at a glowing storefront kiosk module, tethered by a luminous thread to a private gateway pylon behind it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A folded paper-plane shaped obsidian drone docked at a glowing delivery dock module, tethered by a luminous thread to a private gateway pylon behind it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/how-i-host-this-blog.json b/scripts/og-gen/captions/how-i-host-this-blog.json index b1c3a24..dc74b88 100644 --- a/scripts/og-gen/captions/how-i-host-this-blog.json +++ b/scripts/og-gen/captions/how-i-host-this-blog.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An assembly line of three interlocking obsidian machine modules — a document press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An assembly line of three interlocking obsidian machine modules — a rolling press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/how-i-made-my-own-songs-with-suno-ai.json b/scripts/og-gen/captions/how-i-made-my-own-songs-with-suno-ai.json index 18a111e..186ba76 100644 --- a/scripts/og-gen/captions/how-i-made-my-own-songs-with-suno-ai.json +++ b/scripts/og-gen/captions/how-i-made-my-own-songs-with-suno-ai.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A shard of amber-lit vinyl suspended inside a dark circular resonator hall, seven smaller song discs orbiting it in a single ring. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A shard of amber-lit vinyl suspended inside a dark circular resonator hall, seven smaller song discs orbiting it in a single ring. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/how-i-vetted-20-vps-providers-with-parallel-subagents.json b/scripts/og-gen/captions/how-i-vetted-20-vps-providers-with-parallel-subagents.json index 9a8859b..e3b955f 100644 --- a/scripts/og-gen/captions/how-i-vetted-20-vps-providers-with-parallel-subagents.json +++ b/scripts/og-gen/captions/how-i-vetted-20-vps-providers-with-parallel-subagents.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Twenty identical dark server tiles fanned out along a scoring rail, a mechanical grading carriage sweeping across them and stamping pass or fail notches into each tile face. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Twenty identical dark server tiles fanned out along a scoring rail, a mechanical grading carriage sweeping across them and stamping pass or fail notches into each tile face. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/how-to-verify-a-hosting-provider-before-you-buy.json b/scripts/og-gen/captions/how-to-verify-a-hosting-provider-before-you-buy.json index 8f3b89c..14f4fd8 100644 --- a/scripts/og-gen/captions/how-to-verify-a-hosting-provider-before-you-buy.json +++ b/scripts/og-gen/captions/how-to-verify-a-hosting-provider-before-you-buy.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with electric cyan (#22d3ee) calibration light and soft ultraviolet spill and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#7C5CFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A polished glass loupe hovering over a rack of miniature server towers, revealing a hairline crack hidden inside one tower's casing. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with electric cyan (#22d3ee) calibration light and soft ultraviolet spill and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#7C5CFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A polished glass loupe hovering over a rack of miniature server towers, revealing a hairline crack hidden inside one tower's casing. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/i-let-an-agent-manage-my-shopee-vouchers.json b/scripts/og-gen/captions/i-let-an-agent-manage-my-shopee-vouchers.json index 954d898..edc7e98 100644 --- a/scripts/og-gen/captions/i-let-an-agent-manage-my-shopee-vouchers.json +++ b/scripts/og-gen/captions/i-let-an-agent-manage-my-shopee-vouchers.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the blueprint track and materializes a glowing geometric voucher card in mid-air. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the machined guide track and materializes a glowing geometric token block in mid-air. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/it-reported-success-nothing-had-changed.json b/scripts/og-gen/captions/it-reported-success-nothing-had-changed.json index 51b8544..32d5c42 100644 --- a/scripts/og-gen/captions/it-reported-success-nothing-had-changed.json +++ b/scripts/og-gen/captions/it-reported-success-nothing-had-changed.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A rotating brass checkmark stamp pressed onto an empty obsidian pipe segment that carries no flow, with the pipe's mouth visibly dry behind the impression. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A rotating brass checkmark stamp pressed onto an empty obsidian pipe segment that carries no flow, with the pipe's mouth visibly dry behind the impression. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/jpa-version-field-lost-update.json b/scripts/og-gen/captions/jpa-version-field-lost-update.json index c95290f..fbbdd24 100644 --- a/scripts/og-gen/captions/jpa-version-field-lost-update.json +++ b/scripts/og-gen/captions/jpa-version-field-lost-update.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two opposing piston arms pressing on the same crystal data block, one arm halted by a mechanical version latch snapping shut with a red-lit click. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two opposing piston arms pressing on the same crystal data block, one arm halted by a mechanical version latch snapping shut with a red-lit click. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/loop-engineering-without-a-coding-agent.json b/scripts/og-gen/captions/loop-engineering-without-a-coding-agent.json index 7aa11cd..10efced 100644 --- a/scripts/og-gen/captions/loop-engineering-without-a-coding-agent.json +++ b/scripts/og-gen/captions/loop-engineering-without-a-coding-agent.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Eleven concentric circular obsidian gear loops rotating in mechanical harmony, eight solid pure crystal clockwork rings alongside three subtle neural pulse rings, operating autonomously. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Eleven concentric circular obsidian gear loops rotating in mechanical harmony, eight solid pure crystal clockwork rings alongside three subtle neural pulse rings, operating autonomously. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/migrating-codeigniter-iis-to-openlitespeed.json b/scripts/og-gen/captions/migrating-codeigniter-iis-to-openlitespeed.json index 58bd3f3..423f4fb 100644 --- a/scripts/og-gen/captions/migrating-codeigniter-iis-to-openlitespeed.json +++ b/scripts/og-gen/captions/migrating-codeigniter-iis-to-openlitespeed.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A functional app engine block being lifted off a heavy bolted window-frame chassis and reseated onto a taller lightweight finned frame, two loose dark bolts falling behind it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A functional app engine block being lifted off a heavy bolted window-frame chassis and reseated onto a taller lightweight finned frame, two loose dark bolts falling behind it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/my-backup-was-using-someone-elses-api-quota.json b/scripts/og-gen/captions/my-backup-was-using-someone-elses-api-quota.json index 5126fb8..66b1d58 100644 --- a/scripts/og-gen/captions/my-backup-was-using-someone-elses-api-quota.json +++ b/scripts/og-gen/captions/my-backup-was-using-someone-elses-api-quota.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A massive high-throughput data conduit bottlenecked at a narrow glowing amber hourglass valve, releasing only single sparse droplets into a dark repository vault below. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A massive high-throughput data conduit bottlenecked at a narrow glowing amber hourglass valve, releasing only single sparse droplets into a dark repository vault below. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/n8n-v1-to-v2-upgrade-gotchas.json b/scripts/og-gen/captions/n8n-v1-to-v2-upgrade-gotchas.json index c3cfee3..22e70d4 100644 --- a/scripts/og-gen/captions/n8n-v1-to-v2-upgrade-gotchas.json +++ b/scripts/og-gen/captions/n8n-v1-to-v2-upgrade-gotchas.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A rail of plain obsidian cube nodes rolling forward while seven of their connector pins hang loose and sparking beneath the track. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A rail of plain obsidian cube nodes rolling forward while seven of their connector pins hang loose and sparking beneath the track. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/nocodb-sso-is-a-licensed-feature.json b/scripts/og-gen/captions/nocodb-sso-is-a-licensed-feature.json index e114b43..0e596a3 100644 --- a/scripts/og-gen/captions/nocodb-sso-is-a-licensed-feature.json +++ b/scripts/og-gen/captions/nocodb-sso-is-a-licensed-feature.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A recessed keyhole plate on an otherwise sealed obsidian cabinet, faint cyan glow leaking from the plate's seam while the keyhole itself is blocked by a solid brass plug. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A recessed keyhole cut into an otherwise sealed obsidian cabinet, faint cyan glow leaking from the seam while the keyhole itself is blocked by a solid brass plug. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/one-hostname-public-tracker-sso-dashboard.json b/scripts/og-gen/captions/one-hostname-public-tracker-sso-dashboard.json index 82c2359..dc3fe67 100644 --- a/scripts/og-gen/captions/one-hostname-public-tracker-sso-dashboard.json +++ b/scripts/og-gen/captions/one-hostname-public-tracker-sso-dashboard.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A single dark gateway arch splitting into two passages, a wide open slit of light on one side and a latched vault door with a rotating seal on the other. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A single dark gateway arch splitting into two passages, a wide open slit of light on one side and a latched vault door with a rotating seal on the other. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/one-prometheus-for-unraid-synology-and-a-vps.json b/scripts/og-gen/captions/one-prometheus-for-unraid-synology-and-a-vps.json index a198d16..5078a60 100644 --- a/scripts/og-gen/captions/one-prometheus-for-unraid-synology-and-a-vps.json +++ b/scripts/og-gen/captions/one-prometheus-for-unraid-synology-and-a-vps.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A single radiant central telemetry beacon sending precision laser monitoring vectors to three distinct hexagonal platform nodes, illuminating transparent storage volumes with holographic metrics. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A single radiant central telemetry beacon sending precision laser monitoring vectors to three distinct hexagonal platform nodes, illuminating transparent storage volumes with holographic metrics. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/passbolt-hang-three-failure-modes.json b/scripts/og-gen/captions/passbolt-hang-three-failure-modes.json index 8b5f0dc..f632069 100644 --- a/scripts/og-gen/captions/passbolt-hang-three-failure-modes.json +++ b/scripts/og-gen/captions/passbolt-hang-three-failure-modes.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A brass padlock seal hovering over an obsidian vault door whose three latching bolts are stuck mid-turn, a stalled orange glow pulsing in the keyway. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A brass padlock seal hovering over an obsidian vault door whose three latching bolts are stuck mid-turn, a stalled orange glow pulsing in the keyway. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/patching-workbench-26-for-mariadb.json b/scripts/og-gen/captions/patching-workbench-26-for-mariadb.json index 031f303..de30942 100644 --- a/scripts/og-gen/captions/patching-workbench-26-for-mariadb.json +++ b/scripts/og-gen/captions/patching-workbench-26-for-mariadb.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A precision instrument module whose connector plate has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A precision instrument module whose connector block has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/putting-a-front-door-on-an-app-you-cant-modify.json b/scripts/og-gen/captions/putting-a-front-door-on-an-app-you-cant-modify.json index a5581cf..d19c9e9 100644 --- a/scripts/og-gen/captions/putting-a-front-door-on-an-app-you-cant-modify.json +++ b/scripts/og-gen/captions/putting-a-front-door-on-an-app-you-cant-modify.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A new bilingual stone lintel and portal erected in front of a sealed monolithic app block, three thin luminous cables threading through a drilled seam into its interior. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A new bilingual stone lintel and portal erected in front of a sealed monolithic app block, three thin luminous cables threading through a drilled seam into its interior. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/read-only-nocodb-dashboard-for-a-remote-database.json b/scripts/og-gen/captions/read-only-nocodb-dashboard-for-a-remote-database.json index 873076a..bac554a 100644 --- a/scripts/og-gen/captions/read-only-nocodb-dashboard-for-a-remote-database.json +++ b/scripts/og-gen/captions/read-only-nocodb-dashboard-for-a-remote-database.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A glass observation window mounted over a distant obsidian data silo, the viewing frame open while every latch on the data hatch itself stays closed. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A glass observation window mounted over a distant obsidian data silo, the viewing frame open while every latch on the data hatch itself stays closed. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/reading-a-containers-own-api-docs.json b/scripts/og-gen/captions/reading-a-containers-own-api-docs.json index d242222..3a873b3 100644 --- a/scripts/og-gen/captions/reading-a-containers-own-api-docs.json +++ b/scripts/og-gen/captions/reading-a-containers-own-api-docs.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A scanning beam unfolding a lathe-cut obsidian shell to expose its printed inner circuit schematics, four small inspection tools laid out on the dark bench beside it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A scanning beam unfolding a lathe-cut obsidian shell to expose its inner circuit routing, four small inspection tools laid out on the dark bench beside it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/replacing-rdpguard-with-ipban.json b/scripts/og-gen/captions/replacing-rdpguard-with-ipban.json index 09d6cfe..d00a872 100644 --- a/scripts/og-gen/captions/replacing-rdpguard-with-ipban.json +++ b/scripts/og-gen/captions/replacing-rdpguard-with-ipban.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An old shield plate lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An old shield slab lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/running-production-infrastructure-solo.json b/scripts/og-gen/captions/running-production-infrastructure-solo.json index 0b0392a..db01e94 100644 --- a/scripts/og-gen/captions/running-production-infrastructure-solo.json +++ b/scripts/og-gen/captions/running-production-infrastructure-solo.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of micro-scale glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of tiny glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/running-tts-as-a-service-with-token-sidecars.json b/scripts/og-gen/captions/running-tts-as-a-service-with-token-sidecars.json index 32985aa..697a13e 100644 --- a/scripts/og-gen/captions/running-tts-as-a-service-with-token-sidecars.json +++ b/scripts/og-gen/captions/running-tts-as-a-service-with-token-sidecars.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A central obsidian voice resonance horn flanked by two small paired fuel canisters that replenish its expiring energy keys through thin silver tubes. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A central obsidian voice resonance horn flanked by two small paired fuel canisters that replenish its expiring energy keys through thin silver tubes. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/scraping-bot-walled-marketplace-warm-browser-session.json b/scripts/og-gen/captions/scraping-bot-walled-marketplace-warm-browser-session.json index 983f57d..32ca418 100644 --- a/scripts/og-gen/captions/scraping-bot-walled-marketplace-warm-browser-session.json +++ b/scripts/og-gen/captions/scraping-bot-walled-marketplace-warm-browser-session.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A dexterous glass gripper carrying a warm amber-lit browser window pane through a walled dark tunnel gate, holding the pane at a preserved angle. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A dexterous glass gripper carrying a warm amber-lit browser window pane through a walled dark tunnel gate, holding the pane at a preserved angle. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/self-healing-digital-goods-entitlements.json b/scripts/og-gen/captions/self-healing-digital-goods-entitlements.json index c3883eb..c6ac76e 100644 --- a/scripts/og-gen/captions/self-healing-digital-goods-entitlements.json +++ b/scripts/og-gen/captions/self-healing-digital-goods-entitlements.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A multi-stage floating acrylic workflow pathway with five interlocking diamond gates, automatically bridging broken link fragments with glowing golden solder. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A multi-stage floating acrylic workflow pathway with five interlocking diamond gates, automatically bridging broken link fragments with glowing golden solder. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/self-hosted-speech-to-text-api.json b/scripts/og-gen/captions/self-hosted-speech-to-text-api.json index 226805a..c03f0e3 100644 --- a/scripts/og-gen/captions/self-hosted-speech-to-text-api.json +++ b/scripts/og-gen/captions/self-hosted-speech-to-text-api.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A floating obsidian microphone capsule inside a soundproof dark chamber, its waveform converted into clean engraved grooves on a crystal tablet beside it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A floating obsidian microphone capsule inside a soundproof dark chamber, its waveform converted into clean engraved grooves on a crystal tablet beside it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/self-hosting-mem0-memory-stack.json b/scripts/og-gen/captions/self-hosting-mem0-memory-stack.json index fa56d30..78c70c7 100644 --- a/scripts/og-gen/captions/self-hosting-mem0-memory-stack.json +++ b/scripts/og-gen/captions/self-hosting-mem0-memory-stack.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A stack of three interlocking transparent memory capsules above a glowing vector-index lattice core, each capsule holding suspended point-cloud nodes. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A stack of three interlocking transparent memory capsules above a glowing vector-index lattice core, each capsule holding suspended point-cloud nodes. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/shipping-an-ai-photo-editor-as-a-wordpress-plugin.json b/scripts/og-gen/captions/shipping-an-ai-photo-editor-as-a-wordpress-plugin.json index 0de85e9..c75ea1b 100644 --- a/scripts/og-gen/captions/shipping-an-ai-photo-editor-as-a-wordpress-plugin.json +++ b/scripts/og-gen/captions/shipping-an-ai-photo-editor-as-a-wordpress-plugin.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A brushed dark modular cartridge docked into a slot on a wall of stacked obsidian building blocks, a neat pile of thin shims beside it with one cracked shim glowing red. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A brushed dark modular cartridge docked into a slot on a wall of stacked obsidian building blocks, a neat pile of thin shims beside it with one cracked shim glowing red. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/smartctl-exit-code-32-skips-the-disks-that-matter.json b/scripts/og-gen/captions/smartctl-exit-code-32-skips-the-disks-that-matter.json index e6cf6af..8d85b2a 100644 --- a/scripts/og-gen/captions/smartctl-exit-code-32-skips-the-disks-that-matter.json +++ b/scripts/og-gen/captions/smartctl-exit-code-32-skips-the-disks-that-matter.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A row of dark platter cartridges on an inspection rail where a sorting gate waves the most worn cartridge straight past into an unchecked waste channel. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A row of dark platter cartridges on an inspection rail where a sorting gate waves the most worn cartridge straight past into an unchecked waste channel. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/space-reclamation-wasnt-stuck-it-was-waiting.json b/scripts/og-gen/captions/space-reclamation-wasnt-stuck-it-was-waiting.json index 3876d45..708c429 100644 --- a/scripts/og-gen/captions/space-reclamation-wasnt-stuck-it-was-waiting.json +++ b/scripts/og-gen/captions/space-reclamation-wasnt-stuck-it-was-waiting.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic timer dial counting down. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic countdown ring. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/stop-writing-agent-prompts-for-deterministic-work.json b/scripts/og-gen/captions/stop-writing-agent-prompts-for-deterministic-work.json index d702f74..41e5d9e 100644 --- a/scripts/og-gen/captions/stop-writing-agent-prompts-for-deterministic-work.json +++ b/scripts/og-gen/captions/stop-writing-agent-prompts-for-deterministic-work.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An oversized ornate mechanical gear train fused to a tiny simple toggle switch, a strand of glowing ribbon tangled uselessly around the gear teeth. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An oversized ornate mechanical gear train fused to a tiny simple toggle switch, a strand of glowing ribbon tangled uselessly around the gear teeth. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/syncing-a-self-improving-ai-agent-across-machines.json b/scripts/og-gen/captions/syncing-a-self-improving-ai-agent-across-machines.json index c1db8db..63d2372 100644 --- a/scripts/og-gen/captions/syncing-a-self-improving-ai-agent-across-machines.json +++ b/scripts/og-gen/captions/syncing-a-self-improving-ai-agent-across-machines.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, mirrored facets echoing each other. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, their curved shells catching the same rim light. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/synology-api-401-with-the-correct-password.json b/scripts/og-gen/captions/synology-api-401-with-the-correct-password.json index 5394ce9..89265a4 100644 --- a/scripts/og-gen/captions/synology-api-401-with-the-correct-password.json +++ b/scripts/og-gen/captions/synology-api-401-with-the-correct-password.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A brass key entered perfectly into a dark lock plate that still glows red, two different fault traces visible behind a diagnostic glass side panel. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A brass key entered perfectly into a dark lock housing that still glows red, two different fault traces visible behind a diagnostic glass side panel. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/synology-spreadsheet-api-is-a-container.json b/scripts/og-gen/captions/synology-spreadsheet-api-is-a-container.json index f754988..a015728 100644 --- a/scripts/og-gen/captions/synology-spreadsheet-api-is-a-container.json +++ b/scripts/og-gen/captions/synology-spreadsheet-api-is-a-container.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade plates standing around its access hatches. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade blocks standing around its access hatches. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/that-dying-ssd-was-just-a-bad-sata-cable.json b/scripts/og-gen/captions/that-dying-ssd-was-just-a-bad-sata-cable.json index 5821ced..3b5f16b 100644 --- a/scripts/og-gen/captions/that-dying-ssd-was-just-a-bad-sata-cable.json +++ b/scripts/og-gen/captions/that-dying-ssd-was-just-a-bad-sata-cable.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An unbranded solid-state drive slab lying clean and healthy on an inspection cradle beside a single frayed ribbon cable whose exposed conductor is the only damaged element in the frame. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An unbranded solid-state drive slab lying clean and healthy on an inspection cradle beside a single frayed ribbon cable whose exposed conductor is the only damaged element in the frame. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/the-cause-was-trim-not-the-ssds.json b/scripts/og-gen/captions/the-cause-was-trim-not-the-ssds.json index ed99113..87b170e 100644 --- a/scripts/og-gen/captions/the-cause-was-trim-not-the-ssds.json +++ b/scripts/og-gen/captions/the-cause-was-trim-not-the-ssds.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two identical crystal data platters both striped by the same glowing zero-band across their surface, a hidden firmware splinter visible in the shared substrate between them. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two identical crystal data platters both striped by the same glowing zero-band across their surface, a hidden firmware splinter visible in the shared substrate between them. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/the-nocodb-attachment-that-wouldnt-update.json b/scripts/og-gen/captions/the-nocodb-attachment-that-wouldnt-update.json index 8f4a342..ef75996 100644 --- a/scripts/og-gen/captions/the-nocodb-attachment-that-wouldnt-update.json +++ b/scripts/og-gen/captions/the-nocodb-attachment-that-wouldnt-update.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two nearly identical obsidian tiles slotted into the same dark rail, the older tile stubbornly holding its groove while a translucent duplicate hovers beside it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two nearly identical obsidian tiles slotted into the same dark rail, the older tile stubbornly holding its groove while a translucent duplicate hovers beside it. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/the-upstream-was-deleted-then-came-back-rewritten.json b/scripts/og-gen/captions/the-upstream-was-deleted-then-came-back-rewritten.json index ff84f5d..489713e 100644 --- a/scripts/og-gen/captions/the-upstream-was-deleted-then-came-back-rewritten.json +++ b/scripts/og-gen/captions/the-upstream-was-deleted-then-came-back-rewritten.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An empty hollow container shell sitting on a dark shelf beside a freshly rebuilt shell of a brighter alloy, the new one still gleaming and unweathered. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An empty hollow container shell sitting on a dark shelf beside a freshly rebuilt shell of a brighter alloy, the new one still gleaming and unweathered. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/two-ways-a-javascript-file-stops-working-and-looks-fine.json b/scripts/og-gen/captions/two-ways-a-javascript-file-stops-working-and-looks-fine.json index b9a4d0c..f647c79 100644 --- a/scripts/og-gen/captions/two-ways-a-javascript-file-stops-working-and-looks-fine.json +++ b/scripts/og-gen/captions/two-ways-a-javascript-file-stops-working-and-looks-fine.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A luminous display panel that looks perfectly alive while two of its internal conduits are severed beneath the unbroken glass face. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A luminous display panel that looks perfectly alive while two of its internal conduits are severed beneath the unbroken glass face. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/unraid-stop-array-hangs-on-swapfile.json b/scripts/og-gen/captions/unraid-stop-array-hangs-on-swapfile.json index 89cd4ba..fcbe3c5 100644 --- a/scripts/og-gen/captions/unraid-stop-array-hangs-on-swapfile.json +++ b/scripts/og-gen/captions/unraid-stop-array-hangs-on-swapfile.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A heavy obsidian disk array carriage halted on its rails, an eight-segment anchor block clamping one wheel to the floor frame. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A heavy obsidian disk array carriage halted on its rails, an eight-segment anchor block clamping one wheel to the floor frame. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/upgrading-codeigniter-46-to-47.json b/scripts/og-gen/captions/upgrading-codeigniter-46-to-47.json index bef75e9..c994a64 100644 --- a/scripts/og-gen/captions/upgrading-codeigniter-46-to-47.json +++ b/scripts/og-gen/captions/upgrading-codeigniter-46-to-47.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An obsidian upgrade manifold whose eight sealed ports run cold and silent while two open ports vent hot red vapour. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with warm amber-orange (#fbbf24) diagnostic warning glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#FBBF24","#F59E0B","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An obsidian upgrade manifold whose eight sealed ports run cold and silent while two open ports vent hot red vapour. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/using-chinese-llm-apis-from-malaysia.json b/scripts/og-gen/captions/using-chinese-llm-apis-from-malaysia.json index 18d9718..0020544 100644 --- a/scripts/og-gen/captions/using-chinese-llm-apis-from-malaysia.json +++ b/scripts/og-gen/captions/using-chinese-llm-apis-from-malaysia.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A sealed gateway pylon with a currency-shaped token slot and a verification bell, feeding a distant dark lattice of model cores through a long cable run. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A sealed steel tower module with a single machined keyway and a small suspended counterweight, feeding a distant dark lattice of machined spheres through a long cable run. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/verifying-a-pdf-report-page-by-page.json b/scripts/og-gen/captions/verifying-a-pdf-report-page-by-page.json index 55a4a82..2f35b7f 100644 --- a/scripts/og-gen/captions/verifying-a-pdf-report-page-by-page.json +++ b/scripts/og-gen/captions/verifying-a-pdf-report-page-by-page.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Nineteen identically cut crystal page plates fanned in a stack on a dark calibration table while a precision measuring caliper checks each plate's edge alignment. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Nineteen identically cut crystal sheets fanned in a stack on a dark calibration bench, while a precision measuring caliper checks each sheet's edge alignment. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/vetting-an-open-source-dependency-before-you-bet-on-it.json b/scripts/og-gen/captions/vetting-an-open-source-dependency-before-you-bet-on-it.json index 80e0cba..7c47744 100644 --- a/scripts/og-gen/captions/vetting-an-open-source-dependency-before-you-bet-on-it.json +++ b/scripts/og-gen/captions/vetting-an-open-source-dependency-before-you-bet-on-it.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A dark dependency crate opened on a market bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A dark dependency crate opened on a bare inspection bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/when-smart-says-healthy-but-your-raid-is-corrupting-data.json b/scripts/og-gen/captions/when-smart-says-healthy-but-your-raid-is-corrupting-data.json index 485b13b..f9e95ff 100644 --- a/scripts/og-gen/captions/when-smart-says-healthy-but-your-raid-is-corrupting-data.json +++ b/scripts/og-gen/captions/when-smart-says-healthy-but-your-raid-is-corrupting-data.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two clean-looking mirrored disk platters certified with green tags while a fine hairline of corrupted static seeps from the seam between them. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two clean-looking mirrored disk platters certified with green tags while a fine hairline of corrupted static seeps from the seam between them. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/why-500000-lines-of-commit-churn-only-left-230000-in-production.json b/scripts/og-gen/captions/why-500000-lines-of-commit-churn-only-left-230000-in-production.json index e85995e..283590d 100644 --- a/scripts/og-gen/captions/why-500000-lines-of-commit-churn-only-left-230000-in-production.json +++ b/scripts/og-gen/captions/why-500000-lines-of-commit-churn-only-left-230000-in-production.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A wide extrusion nozzle laying down an enormous glowing filament coil while a narrow precision sieve beneath it lets only a smaller refined strand fall into a production crate. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp cobalt blue (#295cff) and ice-white edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#295CFF","#E8EEFF","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A wide extrusion nozzle laying down an enormous glowing filament coil while a narrow precision sieve beneath it lets only a smaller refined strand fall into a production crate. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/why-chrome-forgets-its-tabs-in-a-container.json b/scripts/og-gen/captions/why-chrome-forgets-its-tabs-in-a-container.json index 98b8903..b9d05af 100644 --- a/scripts/og-gen/captions/why-chrome-forgets-its-tabs-in-a-container.json +++ b/scripts/og-gen/captions/why-chrome-forgets-its-tabs-in-a-container.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A dark browser window frame whose restored tab plates are scattered outside its own container wall, a small keeper bracket bridging the seam. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A dark browser window frame whose restored tab slats are scattered outside its own container wall, a small keeper bracket bridging the seam. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/why-i-still-bought-a-local-gpu.json b/scripts/og-gen/captions/why-i-still-bought-a-local-gpu.json index 4d33aab..c5ec1b5 100644 --- a/scripts/og-gen/captions/why-i-still-bought-a-local-gpu.json +++ b/scripts/og-gen/captions/why-i-still-bought-a-local-gpu.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A dense obsidian accelerator block seated in its own heatsink cradle on a workbench, radiating private warm light while cloud-tethered terminals hang faintly in the dark background. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with neon cyan (#22d3ee) and electric violet-magenta (#a855f7) synaptic glow and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#22D3EE","#A855F7","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A dense obsidian accelerator block seated in its own heatsink cradle on a workbench, radiating private warm light while cloud-tethered terminals hang faintly in the dark background. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/why-my-on-chain-nft-art-changed-on-windows.json b/scripts/og-gen/captions/why-my-on-chain-nft-art-changed-on-windows.json index 133a3e2..99d8b64 100644 --- a/scripts/og-gen/captions/why-my-on-chain-nft-art-changed-on-windows.json +++ b/scripts/og-gen/captions/why-my-on-chain-nft-art-changed-on-windows.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with translucent emerald (#10b981) prism light split into cyan fringes and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#10B981","#22D3EE","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An identical carved art plaque duplicated on two colour-matched plinths, one copy shifted by an extra invisible notch at every edge. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with translucent emerald (#10b981) prism light split into cyan fringes and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#10B981","#22D3EE","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"An identical carved art plaque duplicated on two colour-matched plinths, one copy shifted by an extra invisible notch at every edge. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/why-telegram-bot-notifications-die.json b/scripts/og-gen/captions/why-telegram-bot-notifications-die.json index 44d8749..32c1697 100644 --- a/scripts/og-gen/captions/why-telegram-bot-notifications-die.json +++ b/scripts/og-gen/captions/why-telegram-bot-notifications-die.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A folded paper-plane drone stopped at a narrow dark archway, its front slot jammed with a crumpled translucent strip and a red glow bleeding out. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A folded paper-plane drone stopped at a narrow dark archway, its front slot jammed with a crumpled translucent strip and a red glow bleeding out. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/why-your-cdp-clicks-silently-fail.json b/scripts/og-gen/captions/why-your-cdp-clicks-silently-fail.json index 3f6869f..6867fad 100644 --- a/scripts/og-gen/captions/why-your-cdp-clicks-silently-fail.json +++ b/scripts/og-gen/captions/why-your-cdp-clicks-silently-fail.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A high-precision robotic cursor pointer clicking onto a translucent glass button that has already shifted away on an invisible kinetic wave, triggering no resonance. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A high-precision robotic cursor pointer clicking onto a translucent glass pad that has already shifted away on an invisible kinetic wave, triggering no resonance. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/why-your-grafana-dashboard-shows-no-data.json b/scripts/og-gen/captions/why-your-grafana-dashboard-shows-no-data.json index c0c9b29..20a7206 100644 --- a/scripts/og-gen/captions/why-your-grafana-dashboard-shows-no-data.json +++ b/scripts/og-gen/captions/why-your-grafana-dashboard-shows-no-data.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A wide wall of forty-one dark telemetry panels all reading blank, one small self-referential filter disc visibly stuck against its own inlet. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A wide wall of forty-one dark telemetry panels all reading blank, one small self-referential filter disc visibly stuck against its own inlet. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/why-your-headless-browser-cant-scrape-everything.json b/scripts/og-gen/captions/why-your-headless-browser-cant-scrape-everything.json index ce8fa9d..b1b217b 100644 --- a/scripts/og-gen/captions/why-your-headless-browser-cant-scrape-everything.json +++ b/scripts/og-gen/captions/why-your-headless-browser-cant-scrape-everything.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two market booths side by side, one sealed shut behind a wall of blank grey panels while the other stays open with warm goods faintly visible inside. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with emerald green (#4ade80) status nodes and gold (#f5c24a) telemetry glints and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#F5C24A","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"Two identical dark vault chambers side by side, one sealed shut behind a wall of blank grey panels while the other stands open with warm light spilling from inside. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/captions/your-disk-full-alert-is-lying.json b/scripts/og-gen/captions/your-disk-full-alert-is-lying.json index 2e7f78d..78f082e 100644 --- a/scripts/og-gen/captions/your-disk-full-alert-is-lying.json +++ b/scripts/og-gen/captions/your-disk-full-alert-is-lying.json @@ -1 +1 @@ -{"high_level_description":"A dark-mode 3D cyber-bento concept art and technical blueprint schematic of a single piece of industrial hardware. The main high-detail 3D focal subject is positioned strictly on the right side of the canvas, leaving expansive clean dark negative space across the entire left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with vibrant emerald green (#4ade80) status indicator lights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, technical blueprint vector lines","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with faint technical blueprint grid crosshairs and delicate vector coordinate lines.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a percentage gauge above it strains against its stop. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file +{"high_level_description":"A dark-mode 3D cyber-bento product render of a single piece of industrial hardware, photographed on a seamless dark backdrop. The main high-detail 3D focal subject is positioned on the right side of the canvas, leaving clean dark negative space across the left side.","style_description":{"aesthetics":"modern dark cyber-bento, industrial precision, sleek machined surfaces, raytraced ambient occlusion","lighting":"volumetric studio rim lighting in royal cobalt blue (#4d82ff) with crisp vibrant emerald green (#4ade80) edge highlights and subtle cyan glow","medium":"3d_render","art_style":"octane render, matte obsidian hardware, frosted acrylic glass, precise machined surface detail","color_palette":["#0B0F19","#111827","#1E293B","#4ADE80","#3FB950","#4D82FF"]},"compositional_deconstruction":{"background":"Deep midnight obsidian slate background (#0b0f19 to #111827) fading into pure clean negative space across the entire left 60% of the horizontal canvas, with a soft rim vignette and faint volumetric haze.","elements":[{"type":"obj","bbox":[150,550,850,945],"desc":"A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a thin illuminated arc above it strains against its stop. Clean unbranded matte surfaces, blank panels, no printed markings. Razor-sharp detail, no text, no letters, no watermark."}]}} \ No newline at end of file diff --git a/scripts/og-gen/metaphors.json b/scripts/og-gen/metaphors.json index bb44500..6ff186c 100644 --- a/scripts/og-gen/metaphors.json +++ b/scripts/og-gen/metaphors.json @@ -1,5 +1,5 @@ { - "adding-a-domain-to-someone-elses-mail-server": "A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle plate", + "adding-a-domain-to-someone-elses-mail-server": "A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle wall", "adding-english-mode-to-a-chinese-only-web-app": "A monolithic dark application cube whose sealed front face carries two sliding glass plaques bearing different scripts, the second plaque being lifted into position by a precision gantry clamp at the doorway", "ai-furniture-compositing-with-flux-kontext": "A matte dark lounge chair module seated into a cut-away room diorama cube, its original studio backdrop peeling away as a curled translucent film sheet", "authentik-css-greater-than-bug": "A single oversized angular chevron wedge jammed into a hairline seam of a frosted glass control panel, splitting the panel's edge glow into misaligned fragments", @@ -7,38 +7,38 @@ "authentik-major-upgrade-gotchas": "A stack of obsidian anniversary plinths where the topmost slab has just been swapped in, its mounting pegs misaligned so three small crystal key tags tumble out of their sockets", "automating-cyberpanel-without-the-ui": "A slim robotic probe arm reaching behind the polished facade of a dark server control panel, plugging into exposed circuit contacts concealed behind the front glass", "best-ai-video-generators-2026": "A rack of five glowing film reels of differing sizes, one heavy obsidian reel grounded on a heatsink pedestal while the others float as translucent holograms trailed by thin price-tag slivers", - "calibrating-intel-quick-sync-hevc-quality": "A 3D topographic luminous video waveform mountain dropping off a 90-degree vertical cliff edge marked at 28, flanked by two perfectly identical overlapping optical calibration prisms", - "chainlink-vrf-v2-lottery-contract": "A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a notarized proof disc hovering just outside the case", + "calibrating-intel-quick-sync-hevc-quality": "A 3D topographic luminous video waveform mountain whose face drops off a 90-degree vertical cliff edge, flanked by two perfectly identical overlapping optical calibration prisms", + "chainlink-vrf-v2-lottery-contract": "A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a polished glass orb hovering just outside the case", "docker-reported-exit-0-the-oom-killer-disagreed": "A translucent glass server cube displaying a deceptive green heartbeat light while a razor-sharp crimson beam slices horizontally through its bottom core, scattering fractured memory crystals", - "does-hevc-actually-shrink-your-files": "Three matched glass vials of compressed film ribbon standing on a dark calibration scale, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from", + "does-hevc-actually-shrink-your-files": "Three matched glass vials of compressed film ribbon standing on a dark calibration bench, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from", "embedding-fonts-so-a-pdf-looks-the-same-everywhere": "A sealed obsidian press frame holding one smooth unmarked crystal sheet, lit identically through three differently angled viewing ports", - "every-player-stuttered-the-file-was-fine": "A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost frame onto a translucent projection screen", + "every-player-stuttered-the-file-was-fine": "A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost shadow onto a translucent glass slab", "five-step-ai-roadmap-what-i-actually-run": "A five-tier architectural staircase in dark graphite, the middle tiers brightly illuminated with active hardware racks while the speculative top tiers remain skeletal wireframes", "fully-on-chain-svg-nfts": "A crystalline art plaque sealed completely inside a transparent contract block, its imagery carved directly into the block's inner facets rather than mounted on any external frame", "hardening-a-tor-onion-service": "A matte black multi-shell relay tower of stacked concentric domes, each layer locked by a brass ring, with a single narrow sealed ingress slit glowing soft violet", - "hello-world": "A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing indicator at its corner", - "how-i-built-the-digikedai-telegram-bot": "A folded paper-plane shaped obsidian drone docked at a glowing storefront kiosk module, tethered by a luminous thread to a private gateway pylon behind it", - "how-i-host-this-blog": "An assembly line of three interlocking obsidian machine modules — a document press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail", + "hello-world": "A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing pinpoint of light at its corner", + "how-i-built-the-digikedai-telegram-bot": "A folded paper-plane shaped obsidian drone docked at a glowing delivery dock module, tethered by a luminous thread to a private gateway pylon behind it", + "how-i-host-this-blog": "An assembly line of three interlocking obsidian machine modules — a rolling press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail", "how-i-made-my-own-songs-with-suno-ai": "A shard of amber-lit vinyl suspended inside a dark circular resonator hall, seven smaller song discs orbiting it in a single ring", "how-i-vetted-20-vps-providers-with-parallel-subagents": "Twenty identical dark server tiles fanned out along a scoring rail, a mechanical grading carriage sweeping across them and stamping pass or fail notches into each tile face", "how-to-verify-a-hosting-provider-before-you-buy": "A polished glass loupe hovering over a rack of miniature server towers, revealing a hairline crack hidden inside one tower's casing", - "i-let-an-agent-manage-my-shopee-vouchers": "An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the blueprint track and materializes a glowing geometric voucher card in mid-air", + "i-let-an-agent-manage-my-shopee-vouchers": "An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the machined guide track and materializes a glowing geometric token block in mid-air", "it-reported-success-nothing-had-changed": "A rotating brass checkmark stamp pressed onto an empty obsidian pipe segment that carries no flow, with the pipe's mouth visibly dry behind the impression", "jpa-version-field-lost-update": "Two opposing piston arms pressing on the same crystal data block, one arm halted by a mechanical version latch snapping shut with a red-lit click", "loop-engineering-without-a-coding-agent": "Eleven concentric circular obsidian gear loops rotating in mechanical harmony, eight solid pure crystal clockwork rings alongside three subtle neural pulse rings, operating autonomously", "migrating-codeigniter-iis-to-openlitespeed": "A functional app engine block being lifted off a heavy bolted window-frame chassis and reseated onto a taller lightweight finned frame, two loose dark bolts falling behind it", "my-backup-was-using-someone-elses-api-quota": "A massive high-throughput data conduit bottlenecked at a narrow glowing amber hourglass valve, releasing only single sparse droplets into a dark repository vault below", "n8n-v1-to-v2-upgrade-gotchas": "A rail of plain obsidian cube nodes rolling forward while seven of their connector pins hang loose and sparking beneath the track", - "nocodb-sso-is-a-licensed-feature": "A recessed keyhole plate on an otherwise sealed obsidian cabinet, faint cyan glow leaking from the plate's seam while the keyhole itself is blocked by a solid brass plug", + "nocodb-sso-is-a-licensed-feature": "A recessed keyhole cut into an otherwise sealed obsidian cabinet, faint cyan glow leaking from the seam while the keyhole itself is blocked by a solid brass plug", "one-hostname-public-tracker-sso-dashboard": "A single dark gateway arch splitting into two passages, a wide open slit of light on one side and a latched vault door with a rotating seal on the other", "one-prometheus-for-unraid-synology-and-a-vps": "A single radiant central telemetry beacon sending precision laser monitoring vectors to three distinct hexagonal platform nodes, illuminating transparent storage volumes with holographic metrics", "passbolt-hang-three-failure-modes": "A brass padlock seal hovering over an obsidian vault door whose three latching bolts are stuck mid-turn, a stalled orange glow pulsing in the keyway", - "patching-workbench-26-for-mariadb": "A precision instrument module whose connector plate has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket", + "patching-workbench-26-for-mariadb": "A precision instrument module whose connector block has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket", "putting-a-front-door-on-an-app-you-cant-modify": "A new bilingual stone lintel and portal erected in front of a sealed monolithic app block, three thin luminous cables threading through a drilled seam into its interior", "read-only-nocodb-dashboard-for-a-remote-database": "A glass observation window mounted over a distant obsidian data silo, the viewing frame open while every latch on the data hatch itself stays closed", - "reading-a-containers-own-api-docs": "A scanning beam unfolding a lathe-cut obsidian shell to expose its printed inner circuit schematics, four small inspection tools laid out on the dark bench beside it", - "replacing-rdpguard-with-ipban": "An old shield plate lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it", - "running-production-infrastructure-solo": "Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of micro-scale glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node", + "reading-a-containers-own-api-docs": "A scanning beam unfolding a lathe-cut obsidian shell to expose its inner circuit routing, four small inspection tools laid out on the dark bench beside it", + "replacing-rdpguard-with-ipban": "An old shield slab lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it", + "running-production-infrastructure-solo": "Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of tiny glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node", "running-tts-as-a-service-with-token-sidecars": "A central obsidian voice resonance horn flanked by two small paired fuel canisters that replenish its expiring energy keys through thin silver tubes", "scraping-bot-walled-marketplace-warm-browser-session": "A dexterous glass gripper carrying a warm amber-lit browser window pane through a walled dark tunnel gate, holding the pane at a preserved angle", "self-healing-digital-goods-entitlements": "A multi-stage floating acrylic workflow pathway with five interlocking diamond gates, automatically bridging broken link fragments with glowing golden solder", @@ -46,11 +46,11 @@ "self-hosting-mem0-memory-stack": "A stack of three interlocking transparent memory capsules above a glowing vector-index lattice core, each capsule holding suspended point-cloud nodes", "shipping-an-ai-photo-editor-as-a-wordpress-plugin": "A brushed dark modular cartridge docked into a slot on a wall of stacked obsidian building blocks, a neat pile of thin shims beside it with one cracked shim glowing red", "smartctl-exit-code-32-skips-the-disks-that-matter": "A row of dark platter cartridges on an inspection rail where a sorting gate waves the most worn cartridge straight past into an unchecked waste channel", - "space-reclamation-wasnt-stuck-it-was-waiting": "A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic timer dial counting down", + "space-reclamation-wasnt-stuck-it-was-waiting": "A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic countdown ring", "stop-writing-agent-prompts-for-deterministic-work": "An oversized ornate mechanical gear train fused to a tiny simple toggle switch, a strand of glowing ribbon tangled uselessly around the gear teeth", - "syncing-a-self-improving-ai-agent-across-machines": "Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, mirrored facets echoing each other", - "synology-api-401-with-the-correct-password": "A brass key entered perfectly into a dark lock plate that still glows red, two different fault traces visible behind a diagnostic glass side panel", - "synology-spreadsheet-api-is-a-container": "A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade plates standing around its access hatches", + "syncing-a-self-improving-ai-agent-across-machines": "Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, their curved shells catching the same rim light", + "synology-api-401-with-the-correct-password": "A brass key entered perfectly into a dark lock housing that still glows red, two different fault traces visible behind a diagnostic glass side panel", + "synology-spreadsheet-api-is-a-container": "A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade blocks standing around its access hatches", "that-dying-ssd-was-just-a-bad-sata-cable": "An unbranded solid-state drive slab lying clean and healthy on an inspection cradle beside a single frayed ribbon cable whose exposed conductor is the only damaged element in the frame", "the-cause-was-trim-not-the-ssds": "Two identical crystal data platters both striped by the same glowing zero-band across their surface, a hidden firmware splinter visible in the shared substrate between them", "the-nocodb-attachment-that-wouldnt-update": "Two nearly identical obsidian tiles slotted into the same dark rail, the older tile stubbornly holding its groove while a translucent duplicate hovers beside it", @@ -58,17 +58,17 @@ "two-ways-a-javascript-file-stops-working-and-looks-fine": "A luminous display panel that looks perfectly alive while two of its internal conduits are severed beneath the unbroken glass face", "unraid-stop-array-hangs-on-swapfile": "A heavy obsidian disk array carriage halted on its rails, an eight-segment anchor block clamping one wheel to the floor frame", "upgrading-codeigniter-46-to-47": "An obsidian upgrade manifold whose eight sealed ports run cold and silent while two open ports vent hot red vapour", - "using-chinese-llm-apis-from-malaysia": "A sealed gateway pylon with a currency-shaped token slot and a verification bell, feeding a distant dark lattice of model cores through a long cable run", - "verifying-a-pdf-report-page-by-page": "Nineteen identically cut crystal page plates fanned in a stack on a dark calibration table while a precision measuring caliper checks each plate's edge alignment", - "vetting-an-open-source-dependency-before-you-bet-on-it": "A dark dependency crate opened on a market bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed", + "using-chinese-llm-apis-from-malaysia": "A sealed steel tower module with a single machined keyway and a small suspended counterweight, feeding a distant dark lattice of machined spheres through a long cable run", + "verifying-a-pdf-report-page-by-page": "Nineteen identically cut crystal sheets fanned in a stack on a dark calibration bench, while a precision measuring caliper checks each sheet's edge alignment", + "vetting-an-open-source-dependency-before-you-bet-on-it": "A dark dependency crate opened on a bare inspection bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed", "when-smart-says-healthy-but-your-raid-is-corrupting-data": "Two clean-looking mirrored disk platters certified with green tags while a fine hairline of corrupted static seeps from the seam between them", "why-500000-lines-of-commit-churn-only-left-230000-in-production": "A wide extrusion nozzle laying down an enormous glowing filament coil while a narrow precision sieve beneath it lets only a smaller refined strand fall into a production crate", - "why-chrome-forgets-its-tabs-in-a-container": "A dark browser window frame whose restored tab plates are scattered outside its own container wall, a small keeper bracket bridging the seam", + "why-chrome-forgets-its-tabs-in-a-container": "A dark browser window frame whose restored tab slats are scattered outside its own container wall, a small keeper bracket bridging the seam", "why-i-still-bought-a-local-gpu": "A dense obsidian accelerator block seated in its own heatsink cradle on a workbench, radiating private warm light while cloud-tethered terminals hang faintly in the dark background", "why-my-on-chain-nft-art-changed-on-windows": "An identical carved art plaque duplicated on two colour-matched plinths, one copy shifted by an extra invisible notch at every edge", "why-telegram-bot-notifications-die": "A folded paper-plane drone stopped at a narrow dark archway, its front slot jammed with a crumpled translucent strip and a red glow bleeding out", - "why-your-cdp-clicks-silently-fail": "A high-precision robotic cursor pointer clicking onto a translucent glass button that has already shifted away on an invisible kinetic wave, triggering no resonance", + "why-your-cdp-clicks-silently-fail": "A high-precision robotic cursor pointer clicking onto a translucent glass pad that has already shifted away on an invisible kinetic wave, triggering no resonance", "why-your-grafana-dashboard-shows-no-data": "A wide wall of forty-one dark telemetry panels all reading blank, one small self-referential filter disc visibly stuck against its own inlet", - "why-your-headless-browser-cant-scrape-everything": "Two market booths side by side, one sealed shut behind a wall of blank grey panels while the other stays open with warm goods faintly visible inside", - "your-disk-full-alert-is-lying": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a percentage gauge above it strains against its stop" + "why-your-headless-browser-cant-scrape-everything": "Two identical dark vault chambers side by side, one sealed shut behind a wall of blank grey panels while the other stands open with warm light spilling from inside", + "your-disk-full-alert-is-lying": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a thin illuminated arc above it strains against its stop" } diff --git a/scripts/og-gen/prompts_catalog.json b/scripts/og-gen/prompts_catalog.json index 6bf6460..4262ab3 100644 --- a/scripts/og-gen/prompts_catalog.json +++ b/scripts/og-gen/prompts_catalog.json @@ -9,9 +9,9 @@ "mailcow" ], "accent": "warm amber-orange warning glow (#fbbf24)", - "unique_elements": "A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle plate", + "unique_elements": "A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle wall", "evidence_summary": "4 DNS records · 554 antispam reject", - "prompt": "A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle plate", + "prompt": "A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle wall", "caption": "captions/adding-a-domain-to-someone-elses-mail-server.json" }, { @@ -129,9 +129,9 @@ "qsv" ], "accent": "electric cyan and soft ultraviolet spectrum", - "unique_elements": "A 3D topographic luminous video waveform mountain dropping off a 90-degree vertical cliff edge marked at 28, flanked by two perfectly identical overlapping optical calibration prisms", + "unique_elements": "A 3D topographic luminous video waveform mountain whose face drops off a 90-degree vertical cliff edge, flanked by two perfectly identical overlapping optical calibration prisms", "evidence_summary": "ICQ 28-30 cliff · fast == medium", - "prompt": "A 3D topographic luminous video waveform mountain dropping off a 90-degree vertical cliff edge marked at 28, flanked by two perfectly identical overlapping optical calibration prisms", + "prompt": "A 3D topographic luminous video waveform mountain whose face drops off a 90-degree vertical cliff edge, flanked by two perfectly identical overlapping optical calibration prisms", "caption": "captions/calibrating-intel-quick-sync-hevc-quality.json" }, { @@ -144,9 +144,9 @@ "vrf" ], "accent": "translucent emerald (#10b981) and prism-split cyan", - "unique_elements": "A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a notarized proof disc hovering just outside the case", + "unique_elements": "A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a polished glass orb hovering just outside the case", "evidence_summary": "VRF v2.5 · mock-funding bug", - "prompt": "A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a notarized proof disc hovering just outside the case", + "prompt": "A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a polished glass orb hovering just outside the case", "caption": "captions/chainlink-vrf-v2-lottery-contract.json" }, { @@ -174,9 +174,9 @@ "x265" ], "accent": "electric cyan and soft ultraviolet spectrum", - "unique_elements": "Three matched glass vials of compressed film ribbon standing on a dark calibration scale, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from", + "unique_elements": "Three matched glass vials of compressed film ribbon standing on a dark calibration bench, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from", "evidence_summary": "NVENC cq27 bigger · x265 -10-22%", - "prompt": "Three matched glass vials of compressed film ribbon standing on a dark calibration scale, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from", + "prompt": "Three matched glass vials of compressed film ribbon standing on a dark calibration bench, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from", "caption": "captions/does-hevc-actually-shrink-your-files.json" }, { @@ -204,9 +204,9 @@ "hevc" ], "accent": "cyan and vibrant emerald green (#4ade80)", - "unique_elements": "A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost frame onto a translucent projection screen", + "unique_elements": "A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost shadow onto a translucent glass slab", "evidence_summary": "5818/5818 intervals · 0 duplicate PTS", - "prompt": "A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost frame onto a translucent projection screen", + "prompt": "A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost shadow onto a translucent glass slab", "caption": "captions/every-player-stuttered-the-file-was-fine.json" }, { @@ -262,9 +262,9 @@ "intro" ], "accent": "warm amber-orange warning glow (#fbbf24)", - "unique_elements": "A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing indicator at its corner", + "unique_elements": "A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing pinpoint of light at its corner", "evidence_summary": "~140-container homelab · self-hosted", - "prompt": "A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing indicator at its corner", + "prompt": "A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing pinpoint of light at its corner", "caption": "captions/hello-world.json" }, { @@ -277,9 +277,9 @@ "cloudflare" ], "accent": "emerald green (#4ade80) status nodes and gold telemetry", - "unique_elements": "A folded paper-plane shaped obsidian drone docked at a glowing storefront kiosk module, tethered by a luminous thread to a private gateway pylon behind it", + "unique_elements": "A folded paper-plane shaped obsidian drone docked at a glowing delivery dock module, tethered by a luminous thread to a private gateway pylon behind it", "evidence_summary": "Telegram + WhatsApp · LiteLLM gateway", - "prompt": "A folded paper-plane shaped obsidian drone docked at a glowing storefront kiosk module, tethered by a luminous thread to a private gateway pylon behind it", + "prompt": "A folded paper-plane shaped obsidian drone docked at a glowing delivery dock module, tethered by a luminous thread to a private gateway pylon behind it", "caption": "captions/how-i-built-the-digikedai-telegram-bot.json" }, { @@ -292,9 +292,9 @@ "ci-cd" ], "accent": "emerald green (#4ade80) status nodes and gold telemetry", - "unique_elements": "An assembly line of three interlocking obsidian machine modules — a document press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail", + "unique_elements": "An assembly line of three interlocking obsidian machine modules — a rolling press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail", "evidence_summary": "git push · act_runner · nginx", - "prompt": "An assembly line of three interlocking obsidian machine modules — a document press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail", + "prompt": "An assembly line of three interlocking obsidian machine modules — a rolling press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail", "caption": "captions/how-i-host-this-blog.json" }, { @@ -352,9 +352,9 @@ "automation" ], "accent": "neon-cyan and electric violet-magenta", - "unique_elements": "An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the blueprint track and materializes a glowing geometric voucher card in mid-air", + "unique_elements": "An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the machined guide track and materializes a glowing geometric token block in mid-air", "evidence_summary": "mode=propose gate · RM140 voucher unapproved", - "prompt": "An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the blueprint track and materializes a glowing geometric voucher card in mid-air", + "prompt": "An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the machined guide track and materializes a glowing geometric token block in mid-air", "caption": "captions/i-let-an-agent-manage-my-shopee-vouchers.json" }, { @@ -457,9 +457,9 @@ "oidc" ], "accent": "warm amber-orange warning glow (#fbbf24)", - "unique_elements": "A recessed keyhole plate on an otherwise sealed obsidian cabinet, faint cyan glow leaking from the plate's seam while the keyhole itself is blocked by a solid brass plug", + "unique_elements": "A recessed keyhole cut into an otherwise sealed obsidian cabinet, faint cyan glow leaking from the seam while the keyhole itself is blocked by a solid brass plug", "evidence_summary": "OIDC env accepted · first login crashes", - "prompt": "A recessed keyhole plate on an otherwise sealed obsidian cabinet, faint cyan glow leaking from the plate's seam while the keyhole itself is blocked by a solid brass plug", + "prompt": "A recessed keyhole cut into an otherwise sealed obsidian cabinet, faint cyan glow leaking from the seam while the keyhole itself is blocked by a solid brass plug", "caption": "captions/nocodb-sso-is-a-licensed-feature.json" }, { @@ -517,9 +517,9 @@ "workbench" ], "accent": "cyan and vibrant emerald green (#4ade80)", - "unique_elements": "A precision instrument module whose connector plate has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket", + "unique_elements": "A precision instrument module whose connector block has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket", "evidence_summary": "26.7.0 TypeError · 3 patches", - "prompt": "A precision instrument module whose connector plate has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket", + "prompt": "A precision instrument module whose connector block has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket", "caption": "captions/patching-workbench-26-for-mariadb.json" }, { @@ -562,9 +562,9 @@ "api" ], "accent": "warm amber-orange warning glow (#fbbf24)", - "unique_elements": "A scanning beam unfolding a lathe-cut obsidian shell to expose its printed inner circuit schematics, four small inspection tools laid out on the dark bench beside it", + "unique_elements": "A scanning beam unfolding a lathe-cut obsidian shell to expose its inner circuit routing, four small inspection tools laid out on the dark bench beside it", "evidence_summary": "4 docker commands · image is the spec", - "prompt": "A scanning beam unfolding a lathe-cut obsidian shell to expose its printed inner circuit schematics, four small inspection tools laid out on the dark bench beside it", + "prompt": "A scanning beam unfolding a lathe-cut obsidian shell to expose its inner circuit routing, four small inspection tools laid out on the dark bench beside it", "caption": "captions/reading-a-containers-own-api-docs.json" }, { @@ -577,9 +577,9 @@ "rdp" ], "accent": "cyan and vibrant emerald green (#4ade80)", - "unique_elements": "An old shield plate lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it", + "unique_elements": "An old shield slab lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it", "evidence_summary": "RDPGuard 7.8.7 → IPBan 4.1.0 · 12 IPs", - "prompt": "An old shield plate lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it", + "prompt": "An old shield slab lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it", "caption": "captions/replacing-rdpguard-with-ipban.json" }, { @@ -592,9 +592,9 @@ "monitoring" ], "accent": "emerald green (#4ade80) status nodes and gold telemetry", - "unique_elements": "Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of micro-scale glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node", + "unique_elements": "Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of tiny glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node", "evidence_summary": "162 containers · 3 hosts · 78 compose stacks", - "prompt": "Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of micro-scale glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node", + "prompt": "Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of tiny glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node", "caption": "captions/running-production-infrastructure-solo.json" }, { @@ -712,9 +712,9 @@ "snapshots" ], "accent": "cyan and vibrant emerald green (#4ade80)", - "unique_elements": "A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic timer dial counting down", + "unique_elements": "A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic countdown ring", "evidence_summary": "121 GiB returned · scheduled 09:29", - "prompt": "A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic timer dial counting down", + "prompt": "A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic countdown ring", "caption": "captions/space-reclamation-wasnt-stuck-it-was-waiting.json" }, { @@ -742,9 +742,9 @@ "gitea" ], "accent": "emerald green (#4ade80) status nodes and gold telemetry", - "unique_elements": "Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, mirrored facets echoing each other", + "unique_elements": "Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, their curved shells catching the same rim light", "evidence_summary": "git-backed profile · manual sync", - "prompt": "Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, mirrored facets echoing each other", + "prompt": "Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, their curved shells catching the same rim light", "caption": "captions/syncing-a-self-improving-ai-agent-across-machines.json" }, { @@ -757,9 +757,9 @@ "rest-api" ], "accent": "warm amber-orange warning glow (#fbbf24)", - "unique_elements": "A brass key entered perfectly into a dark lock plate that still glows red, two different fault traces visible behind a diagnostic glass side panel", + "unique_elements": "A brass key entered perfectly into a dark lock housing that still glows red, two different fault traces visible behind a diagnostic glass side panel", "evidence_summary": "401 twice · 2 causes · 3 commands", - "prompt": "A brass key entered perfectly into a dark lock plate that still glows red, two different fault traces visible behind a diagnostic glass side panel", + "prompt": "A brass key entered perfectly into a dark lock housing that still glows red, two different fault traces visible behind a diagnostic glass side panel", "caption": "captions/synology-api-401-with-the-correct-password.json" }, { @@ -772,9 +772,9 @@ "docker" ], "accent": "cyan and vibrant emerald green (#4ade80)", - "unique_elements": "A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade plates standing around its access hatches", + "unique_elements": "A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade blocks standing around its access hatches", "evidence_summary": "1515 APIs · 4 traps", - "prompt": "A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade plates standing around its access hatches", + "prompt": "A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade blocks standing around its access hatches", "caption": "captions/synology-spreadsheet-api-is-a-container.json" }, { @@ -892,9 +892,9 @@ "deepseek" ], "accent": "neon-cyan and electric violet-magenta", - "unique_elements": "A sealed gateway pylon with a currency-shaped token slot and a verification bell, feeding a distant dark lattice of model cores through a long cable run", + "unique_elements": "A sealed steel tower module with a single machined keyway and a small suspended counterweight, feeding a distant dark lattice of machined spheres through a long cable run", "evidence_summary": "GLM-5.3 · DeepSeek V4 · RMB top-up", - "prompt": "A sealed gateway pylon with a currency-shaped token slot and a verification bell, feeding a distant dark lattice of model cores through a long cable run", + "prompt": "A sealed steel tower module with a single machined keyway and a small suspended counterweight, feeding a distant dark lattice of machined spheres through a long cable run", "caption": "captions/using-chinese-llm-apis-from-malaysia.json" }, { @@ -907,9 +907,9 @@ "pdf" ], "accent": "royal cobalt blue (#295cff) with crisp ice-white", - "unique_elements": "Nineteen identically cut crystal page plates fanned in a stack on a dark calibration table while a precision measuring caliper checks each plate's edge alignment", + "unique_elements": "Nineteen identically cut crystal sheets fanned in a stack on a dark calibration bench, while a precision measuring caliper checks each sheet's edge alignment", "evidence_summary": "19 pages · every deviation < 2 pt", - "prompt": "Nineteen identically cut crystal page plates fanned in a stack on a dark calibration table while a precision measuring caliper checks each plate's edge alignment", + "prompt": "Nineteen identically cut crystal sheets fanned in a stack on a dark calibration bench, while a precision measuring caliper checks each sheet's edge alignment", "caption": "captions/verifying-a-pdf-report-page-by-page.json" }, { @@ -922,9 +922,9 @@ "oidc" ], "accent": "cyan and vibrant emerald green (#4ade80)", - "unique_elements": "A dark dependency crate opened on a market bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed", + "unique_elements": "A dark dependency crate opened on a bare inspection bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed", "evidence_summary": "6 checks · grep beats the README", - "prompt": "A dark dependency crate opened on a market bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed", + "prompt": "A dark dependency crate opened on a bare inspection bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed", "caption": "captions/vetting-an-open-source-dependency-before-you-bet-on-it.json" }, { @@ -967,9 +967,9 @@ "cdp" ], "accent": "cyan and vibrant emerald green (#4ade80)", - "unique_elements": "A dark browser window frame whose restored tab plates are scattered outside its own container wall, a small keeper bracket bridging the seam", + "unique_elements": "A dark browser window frame whose restored tab slats are scattered outside its own container wall, a small keeper bracket bridging the seam", "evidence_summary": "RestoreOnStartup=1 · 70-line keeper", - "prompt": "A dark browser window frame whose restored tab plates are scattered outside its own container wall, a small keeper bracket bridging the seam", + "prompt": "A dark browser window frame whose restored tab slats are scattered outside its own container wall, a small keeper bracket bridging the seam", "caption": "captions/why-chrome-forgets-its-tabs-in-a-container.json" }, { @@ -1027,9 +1027,9 @@ "react" ], "accent": "cyan and vibrant emerald green (#4ade80)", - "unique_elements": "A high-precision robotic cursor pointer clicking onto a translucent glass button that has already shifted away on an invisible kinetic wave, triggering no resonance", + "unique_elements": "A high-precision robotic cursor pointer clicking onto a translucent glass pad that has already shifted away on an invisible kinetic wave, triggering no resonance", "evidence_summary": "scroll-behavior:smooth · rect expired", - "prompt": "A high-precision robotic cursor pointer clicking onto a translucent glass button that has already shifted away on an invisible kinetic wave, triggering no resonance", + "prompt": "A high-precision robotic cursor pointer clicking onto a translucent glass pad that has already shifted away on an invisible kinetic wave, triggering no resonance", "caption": "captions/why-your-cdp-clicks-silently-fail.json" }, { @@ -1057,9 +1057,9 @@ "browserless" ], "accent": "emerald green (#4ade80) status nodes and gold telemetry", - "unique_elements": "Two market booths side by side, one sealed shut behind a wall of blank grey panels while the other stays open with warm goods faintly visible inside", + "unique_elements": "Two identical dark vault chambers side by side, one sealed shut behind a wall of blank grey panels while the other stands open with warm light spilling from inside", "evidence_summary": "Goofish blocks · Carousell serves", - "prompt": "Two market booths side by side, one sealed shut behind a wall of blank grey panels while the other stays open with warm goods faintly visible inside", + "prompt": "Two identical dark vault chambers side by side, one sealed shut behind a wall of blank grey panels while the other stands open with warm light spilling from inside", "caption": "captions/why-your-headless-browser-cant-scrape-everything.json" }, { @@ -1072,9 +1072,9 @@ "prometheus" ], "accent": "cyan and vibrant emerald green (#4ade80)", - "unique_elements": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a percentage gauge above it strains against its stop", + "unique_elements": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a thin illuminated arc above it strains against its stop", "evidence_summary": "3% free = 500 GB · alert fires wrong way", - "prompt": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a percentage gauge above it strains against its stop", + "prompt": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a thin illuminated arc above it strains against its stop", "caption": "captions/your-disk-full-alert-is-lying.json" } ] diff --git a/scripts/og-gen/render_from_art.mjs b/scripts/og-gen/render_from_art.mjs index dda45c3..70123b8 100644 --- a/scripts/og-gen/render_from_art.mjs +++ b/scripts/og-gen/render_from_art.mjs @@ -59,6 +59,7 @@ if (!['jpg', 'png'].includes(FORMAT)) throw new Error(`--format must be jpg or p const QUALITY = Number(flag('quality', '85')); const ART_DIR = flag('art-dir', 'C:/AI/ideogram4/out'); const META_FILE = resolve(flag('meta', join(__dirname, 'art-meta.json'))); +const PLAN_FILE = resolve(flag('plan', join(__dirname, 'banner-plan.json'))); const OUT = resolve(flag('out', join(ROOT, 'public'))); const LIMIT = Number(flag('limit', '0')) || 0; const DRY = has('dry-run'); @@ -70,6 +71,39 @@ const GEN_DIR = join(ROOT, '.og', 'gen'); for (const d of [OUT_BANNER, OUT_OG, OUT_THUMB, GEN_DIR]) mkdirSync(d, { recursive: true }); // ---------- frontmatter ---------- +// A frozen YAML subset — but it must still honour the escapes the post authors use. +// A ZH title written as `title: "你的\"磁盘将满\"告警在说谎"` arrives with literal +// backslashes unless they are unescaped here; that shipped as `你的\"磁盘将满\"…` on +// the ZH card (caught by the design consultant, fixed 2026-10-19). +function yamlUnescape(v) { + return String(v).replace(/\\(["'\\/nrt])/g, (_, c) => ( + { '"': '"', "'": "'", '\\': '\\', '/': '/', n: '\n', r: '\r', t: '\t' }[c] + )); +} + +// Typography: the card renders “弯引号”, never the straight `"` that Markdown source +// uses. Pairwise, so an odd count still opens before it closes. +function curlyQuotes(s) { + let open = true; + return String(s ?? '').replace(/"/g, () => { + const q = open ? '\u201C' : '\u201D'; + open = !open; + return q; + }); +} + +// The evidence strip is one line by contract (the template ellipsises, which would +// silently swallow the payload). Cap at 65 chars — the consultant's ruling — and +// trim on a word/separator boundary so the line still reads as data. +const EVIDENCE_MAX = 65; +function capEvidence(s) { + const t = String(s ?? '').trim(); + if (t.length <= EVIDENCE_MAX) return t; + const cut = t.slice(0, EVIDENCE_MAX - 1); + const at = Math.max(cut.lastIndexOf(' '), cut.lastIndexOf('·'), cut.lastIndexOf(',')); + return `${(at > 30 ? cut.slice(0, at) : cut).replace(/[\s·,\-–—]+$/, '')}\u2026`; +} + function frontmatter(file) { const raw = readFileSync(file, 'utf8'); const m = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/); @@ -79,8 +113,8 @@ function frontmatter(file) { const kv = line.match(/^([A-Za-z_]+):\s*(.*)$/); if (!kv) continue; let v = kv[2].trim(); - if (v.startsWith('"') && v.endsWith('"')) v = v.slice(1, -1); - else if (v.startsWith("'") && v.endsWith("'")) v = v.slice(1, -1); + if (v.startsWith('"') && v.endsWith('"') && v.length >= 2) v = yamlUnescape(v.slice(1, -1)); + else if (v.startsWith("'") && v.endsWith("'") && v.length >= 2) v = v.slice(1, -1); fm[kv[1]] = v; } const tags = (fm.tags ?? '').replace(/^\[|\]$/g, '').split(',') @@ -112,9 +146,13 @@ async function renderCard(slug, art, meta, fmEn, fmZh, isZh) { const override = isZh ? meta.ogTitle_zh : meta.ogTitle_en; const titleRaw = override || fm.title; if (!titleRaw) throw new Error(`${slug}: no ${lang} title`); - const title = glueNumbers(formatSmartTitle(titleRaw, isZh)); + const title = glueNumbers(curlyQuotes(formatSmartTitle(titleRaw, isZh))); // ZH description: use the ZH twin's own description when present, else EN. - const desc = (isZh ? fmZh.description : '') || fmEn.description || ''; + const desc = curlyQuotes((isZh ? fmZh.description : '') || fmEn.description || ''); + const evidence = capEvidence(meta.evidence); + if (String(meta.evidence ?? '').trim().length > EVIDENCE_MAX) { + console.warn(` ! evidence trimmed to ${EVIDENCE_MAX} chars: ${evidence}`); + } const start = startTitleSize(title, isZh); const tags = (meta.tags || fmEn.tags || []).slice(0, 3) .map((t) => `${esc(String(t).toUpperCase())}`).join(''); @@ -127,7 +165,7 @@ async function renderCard(slug, art, meta, fmEn, fmZh, isZh) { .replace(/\{\{TITLE_SIZE\}\}/g, String(start)) .replace(/\{\{TITLE_HTML\}\}/g, title) .replace(/\{\{DESCRIPTION\}\}/g, esc(desc)) - .replace(/\{\{EVIDENCE_SUMMARY\}\}/g, esc(meta.evidence)) + .replace(/\{\{EVIDENCE_SUMMARY\}\}/g, esc(evidence)) .replace(/\{\{AVATAR_PATH\}\}/g, AVATAR); const left = html.match(/\{\{[A-Z_]+\}\}/g); @@ -156,6 +194,190 @@ async function renderCard(slug, art, meta, fmEn, fmZh, isZh) { return { lang, fit, file: basename(outFile), px: start }; } +// ---------- banner framing (consultant's option B, 2026-10-19) ---------- +// The base frame reserves its left ~60 % for the card's frosted panel — correct on the +// 1200x630 share card (where art is scaled 116 % and pushed right) and wrong on the +// page hero, which carries no text: there the empty half reads as a dead black band +// (measured: the subject on `your-disk-full-alert-is-lying` occupied ~21 % of the +// banner width before this change). So the banner — and the list thumbs, which are cut +// from the banner — re-frame around the subject instead of scaling the raw frame. +// +// The crop plan comes from `banner-plan.json`, computed by +// `C:/AI/ideogram4/plan_banner_crops.py` (detector in `probe_band_crop.py`): deviation from +// an estimated background plane + largest connected component, so dark glass and matte +// metal count as subject while the 1 px blueprint grid does not. Column energy and +// pixel-brightness tests were both tried and both failed — brightness misses the dark body +// (it boxed the glow, 8 % of the frame, for an object group spanning 35 %+), and a per-row +// background sample cannot describe a horizontal gradient, so it boxed background instead. +// `subjectBand` below stays as the fallback for art that has no plan entry yet, and is +// deliberately the same simple heuristic as before. +// +// The zoom is limited by height as well as width: a portrait subject (e.g. 118x469 px) +// held at 47 % of a 16:9 width would need 335 px of source height and would be sliced +// top and bottom. `zoom` is therefore min(width demand, height affordance) and the +// rule guarantees the whole band stays inside the crop. +const BANNER_W = 1600; +const BANNER_H = 900; +const SUBJECT_FRACTION = 0.47; // target: subject = 45-50 % of the banner width +const SUBJECT_CENTER_X = 0.575; // visual centre, centre-right per the consultant +const MAX_ZOOM = 2.6; // above this the frame is being upscaled, not framed +const BAND_GAP = 8; // px of dark tolerance inside one subject band + +async function subjectBand(art) { + const { data, info } = await sharp(art).greyscale().raw().toBuffer({ resolveWithObject: true }); + const { width: W, height: H } = info; + const colMax = new Uint8Array(W); + const hist = new Uint32Array(256); + for (let y = 0; y < H; y++) { + const off = y * W; + for (let x = 0; x < W; x++) { + const v = data[off + x]; + if (v > colMax[x]) colMax[x] = v; + hist[v]++; + } + } + // threshold = the value above which sits ~0.5 % of the frame (floored at 80) + let acc = 0; + let thr = 80; + for (let v = 255; v >= 0; v--) { + acc += hist[v]; + if (acc > data.length * 0.005) { thr = Math.max(80, v + 1); break; } + } + const runs = []; + let start = null; + let gap = 0; + for (let x = 0; x < W; x++) { + if (colMax[x] >= thr) { if (start === null) start = x; gap = 0; } + else if (start !== null) { + gap++; + if (gap > BAND_GAP) { runs.push([start, x - gap]); start = null; } + } + } + if (start !== null) runs.push([start, W - 1]); + if (!runs.length) return { W, H, x1: 0, x2: W - 1, y1: 0, y2: H - 1, thr, fallback: true }; + const [x1, x2] = runs.reduce((a, b) => (b[1] - b[0] > a[1] - a[0] ? b : a)); + let y1 = H; + let y2 = -1; + for (let y = 0; y < H; y++) { + const off = y * W; + for (let x = x1; x <= x2; x++) { + if (data[off + x] >= thr) { if (y < y1) y1 = y; if (y > y2) y2 = y; break; } + } + } + if (y2 < 0) return { W, H, x1, x2, y1: 0, y2: H - 1, thr, fallback: true }; + return { W, H, x1, x2, y1, y2, thr, fallback: false }; +} + +// The plan gives the window in source coordinates: scale the art to sw x sh, extend the +// canvas with the art's own edge colour where the window overhangs, then extract. Extending +// rather than clamping is what keeps a thin subject at 53.5 % of the width instead of +// gluing it to the right edge. +let PLAN = { frames: {} }; +if (existsSync(PLAN_FILE)) { + try { PLAN = JSON.parse(readFileSync(PLAN_FILE, 'utf8')); } catch (err) { + console.warn(` ! ${basename(PLAN_FILE)} unreadable (${err.message}) — falling back to detection`); + } +} + +// Extends the canvas with the art's own edge colours, one row/column at a time: each +// extended row takes that row's edge pixel, so the frame's vertical gradient (and its +// vignette) survives, and the seam matches pixel-for-pixel. A single averaged fill colour +// was tried first and left a visible tonal step down the right edge (caught in review). +async function extendEdge(scaled, p, padL, padT, padR, padB) { + const { sw, sh } = p; + const [fr, fg, fb] = p.fill; + const bg = { r: fr, g: fg, b: fb }; + const stripCol = async (x, w) => sharp(scaled) + .extract({ left: x, top: 0, width: 1, height: sh }) + .resize({ width: w, height: sh, fit: 'fill' }).toBuffer(); + const stripRow = async (img, y, h, w) => sharp(img) + .extract({ left: 0, top: y, width: w, height: 1 }) + .resize({ width: w, height: h, fit: 'fill' }).toBuffer(); + + let horiz = scaled; + const cw = sw + padL + padR; + if (padL || padR) { + const parts = []; + if (padL) parts.push({ input: await stripCol(0, padL), left: 0, top: 0 }); + parts.push({ input: scaled, left: padL, top: 0 }); + if (padR) parts.push({ input: await stripCol(sw - 1, padR), left: padL + sw, top: 0 }); + horiz = await sharp({ create: { width: cw, height: sh, channels: 3, background: bg } }) + .composite(parts).png().toBuffer(); + } + if (!padT && !padB) return horiz; + const ch = sh + padT + padB; + const parts = []; + if (padT) parts.push({ input: await stripRow(horiz, 0, padT, cw), left: 0, top: 0 }); + parts.push({ input: horiz, left: 0, top: padT }); + if (padB) parts.push({ input: await stripRow(horiz, sh - 1, padB, cw), left: 0, top: padT + sh }); + return sharp({ create: { width: cw, height: ch, channels: 3, background: bg } }) + .composite(parts).png().toBuffer(); +} + +// Returns { buf, zoom, fraction, band, binding, planned } — the banner pixels plus the +// numbers to log, so a run states what it did instead of asking anyone to trust the picture. +async function bannerFraming(art, slug) { + const p = PLAN.frames && PLAN.frames[slug]; + if (p) { + const scaled = await sharp(art).resize({ width: p.sw, height: p.sh, fit: 'fill' }).toBuffer(); + const padL = Math.max(0, -p.left); + const padT = Math.max(0, -p.top); + const padR = Math.max(0, p.left + BANNER_W - p.sw); + const padB = Math.max(0, p.top + BANNER_H - p.sh); + const grown = (padL || padT || padR || padB) + ? await extendEdge(scaled, p, padL, padT, padR, padB) + : scaled; + const buf = await sharp(grown) + .extract({ left: p.left + padL, top: p.top + padT, width: BANNER_W, height: BANNER_H }) + .toBuffer(); + return { + buf, + zoom: p.zoom, + fraction: p.silhouette, + band: `${p.band[0]},${p.band[1]}-${p.band[2]},${p.band[3]}`, + binding: 'plan', + ps: `${p.left},${p.top}`, + extended: padL + padT + padR + padB, + padEdges: `L${padL} T${padT} R${padR} B${padB}`, + planned: true, + }; + } + // fallback for art that has no plan entry yet (a brand-new post rendered before the + // planner has seen its frame): the older column-energy heuristic + const b = await subjectBand(art); + const bw = Math.max(1, b.x2 - b.x1); + const bh = Math.max(1, b.y2 - b.y1); + const cx = (b.x1 + b.x2) / 2; + const cy = (b.y1 + b.y2) / 2; + const floor = BANNER_W / b.W; // never leave the canvas short + const wantW = (SUBJECT_FRACTION * BANNER_W) / bw; // zoom that hits 47 % of width + const allowH = (BANNER_H / bh) * 0.90; // zoom that keeps 5 % air top+bottom + let zoom = Math.min(MAX_ZOOM, Math.max(floor, Math.min(wantW, allowH))); + if (bh * zoom > BANNER_H) zoom = Math.max(floor, (BANNER_H / bh) * 0.96); + const scaledW = Math.round(b.W * zoom); + const scaledH = Math.round(b.H * zoom); + const left = Math.round(Math.min(Math.max(cx * zoom - SUBJECT_CENTER_X * BANNER_W, 0), Math.max(0, scaledW - BANNER_W))); + const top = Math.round(Math.min(Math.max(cy * zoom - BANNER_H / 2, 0), Math.max(0, scaledH - BANNER_H))); + const buf = await sharp(art) + .resize({ width: scaledW }) + .extract({ left, top, width: BANNER_W, height: BANNER_H }) + .toBuffer(); + const bandFits = (b.y1 * zoom - top >= -1) && (b.y2 * zoom - top <= BANNER_H + 1); + if (!bandFits) throw new Error(`banner framing would cut the subject band ${b.y1}-${b.y2}`); + return { + buf, + zoom: Number(zoom.toFixed(2)), + fraction: Number(((bw * zoom) / BANNER_W).toFixed(3)), + band: `${b.x1},${b.y1}-${b.x2},${b.y2} (${bw}x${bh}px, thr ${b.thr})`, + binding: wantW <= allowH ? 'width' : 'height', + ps: `${left},${top}`, + extended: 0, + padEdges: '', + planned: false, + fallback: b.fallback, + }; +} + async function renderSlug(slug, meta) { const art = resolve(meta.art || join(ART_DIR, `${slug}.png`)); if (!existsSync(art)) throw new Error(`${slug}: base art not found at ${art}`); @@ -165,26 +387,26 @@ async function renderSlug(slug, meta) { const fmEn = frontmatter(enPath); const fmZh = existsSync(zhPath) ? frontmatter(zhPath) : {}; - // pure-art targets + // pure-art targets — banner first, then the thumbs derived from that same framing const bannerWebp = join(OUT_BANNER, `${slug}.webp`); const bannerFallback = join(OUT_BANNER, `${slug}.${FORMAT}`); const thumb800 = join(OUT_THUMB, `${slug}-800.webp`); const thumb400 = join(OUT_THUMB, `${slug}-400.webp`); + let framing = null; if (!DRY) { - await sharp(art).resize(1600, 900, { fit: 'cover', position: 'right' }).webp({ quality: 88 }).toFile(bannerWebp); + framing = await bannerFraming(art, slug); + await sharp(framing.buf).webp({ quality: 88 }).toFile(bannerWebp); if (FORMAT === 'jpg') { - await sharp(art).resize(1600, 900, { fit: 'cover', position: 'right' }) - .jpeg({ quality: QUALITY, mozjpeg: true, progressive: true }).toFile(bannerFallback); + await sharp(framing.buf).jpeg({ quality: QUALITY, mozjpeg: true, progressive: true }).toFile(bannerFallback); } else { - await sharp(art).resize(1600, 900, { fit: 'cover', position: 'right' }) - .png({ compressionLevel: 9, palette: true, quality: 90, colors: 256 }).toFile(bannerFallback); + await sharp(framing.buf).png({ compressionLevel: 9, palette: true, quality: 90, colors: 256 }).toFile(bannerFallback); } - await sharp(art).resize(800, 420, { fit: 'cover', position: 'right' }).webp({ quality: 86 }).toFile(thumb800); - await sharp(art).resize(400, 210, { fit: 'cover', position: 'right' }).webp({ quality: 84 }).toFile(thumb400); + await sharp(framing.buf).resize(800, 420, { fit: 'cover', position: 'center' }).webp({ quality: 86 }).toFile(thumb800); + await sharp(framing.buf).resize(400, 210, { fit: 'cover', position: 'center' }).webp({ quality: 84 }).toFile(thumb400); } const cards = DRY ? [] : [await renderCard(slug, art, meta, fmEn, fmZh, false), await renderCard(slug, art, meta, fmEn, fmZh, true)]; - return { slug, art, cards }; + return { slug, art, cards, framing }; } // ---------- main ---------- @@ -227,6 +449,14 @@ for (const r of rows) { console.log(`${r.slug}`); console.log(` art ${r.art}`); for (const c of r.cards) console.log(` OG ${c.lang} start ${c.px}px -> ${c.fit} -> og/${c.file}`); - if (!DRY) console.log(` banner banners/${r.slug}.webp + .${FORMAT} thumbs -800/-400.webp`); + if (r.framing) { + console.log(` banner banners/${r.slug}.webp + .${FORMAT} band ${r.framing.band} ` + + `-> x${r.framing.zoom} (${r.framing.binding}${r.framing.planned ? ', plan' : ' binds'}) ` + + `-> subject at ${(r.framing.fraction * 100).toFixed(1)}% of ${BANNER_W}px` + + `${r.framing.padEdges ? `, canvas extended ${r.framing.padEdges}` : ''}` + + `${r.framing.planned ? '' : ' (no plan entry — detected on the fly)'}` + + `${r.framing.fallback ? ' (FALLBACK framing — no subject band detected)' : ''}`); + console.log(` thumbs og/thumb/${r.slug}-800.webp + -400.webp (cut from the banner)`); + } } console.log(`\nDone: ${rows.length} slug(s) -> ${OUT}`); diff --git a/scripts/og-gen/sync_prompts_catalog.py b/scripts/og-gen/sync_prompts_catalog.py index f44012a..c362bdb 100644 --- a/scripts/og-gen/sync_prompts_catalog.py +++ b/scripts/og-gen/sync_prompts_catalog.py @@ -11,6 +11,11 @@ This copies the authoring state into the repo so git alone is enough: scripts/og-gen/metaphors.json slug -> the unique metaphor (72/72 distinct) scripts/og-gen/captions/.json the exact structured caption sent to the model scripts/og-gen/prompts_catalog.json same shape as before, refreshed from the above + scripts/og-gen/banner-plan.json the banner/thumb crop window per slug, computed by + `C:/AI/ideogram4/plan_banner_crops.py` (detector in + `probe_band_crop.py`). `render_from_art.mjs` reads + this by default; without it a slug falls back to a + weaker on-the-fly heuristic. Usage: python scripts/og-gen/sync_prompts_catalog.py # uses C:/AI/ideogram4 @@ -66,6 +71,13 @@ def main() -> None: if missing_evidence: problems.append(f"{len(missing_evidence)} posts have no evidence line in art-meta.json") + plan_file = tool / "out" / "banner-plan.json" + plan = json.loads(plan_file.read_text(encoding="utf-8")) if plan_file.exists() else {"frames": {}} + plan_missing = sorted(set(metaphors) - set(plan.get("frames", {}))) + if plan_missing: + problems.append(f"{len(plan_missing)} slugs have no banner crop plan " + f"(first: {plan_missing[:4]}) — run plan_banner_crops.py") + print(f"posts {len(posts)} · metaphors {len(metaphors)} · distinct {len(set(metaphors.values()))} · catalog {len(catalog)}") print("problems:", problems or "none") if problems: @@ -95,7 +107,12 @@ def main() -> None: entry["caption"] = f"captions/{slug}.json" out.append(entry) (OG / "prompts_catalog.json").write_text(json.dumps(out, indent=2, ensure_ascii=False) + "\n", encoding="utf-8") - print(f"wrote metaphors.json, captions/ ({len(metaphors)} files), prompts_catalog.json") + (OG / "banner-plan.json").write_text(json.dumps(plan, indent=1, ensure_ascii=False) + "\n", encoding="utf-8") + fr = [f["silhouette"] for f in plan.get("frames", {}).values()] + if fr: + print(f"banner plan: {len(fr)} frames, silhouette " + f"{min(fr)*100:.0f}-{max(fr)*100:.0f}% of the banner width") + print(f"wrote metaphors.json, captions/ ({len(metaphors)} files), prompts_catalog.json, banner-plan.json") if __name__ == "__main__": diff --git a/src/styles/global.css b/src/styles/global.css index 9f64796..822b49b 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -191,6 +191,18 @@ article a { text-decoration: underline; text-underline-offset: 2px; } time { color: var(--faint); font-size: 0.88rem; } +/* Light theme: the v2 artwork is a near-black viewport, so on a white page it reads as + a hard-edged slab with no separation from the paper. The consultant's ruling + (2026-10-19, option A) is a hairline + soft ambient shadow, so it reads as a + deliberate "dark hardware display case" card. Dark theme needs neither — there the + art merges into the page, which is the effect we want. */ +html:not([data-theme='dark']) .article-banner, +html:not([data-theme='dark']) .post-list .thumb, +html:not([data-theme='dark']) .thumb { + border-color: rgba(15, 23, 42, 0.12); + box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.25); +} + /* ---------- Article ---------- */ .article-banner { margin: 0 0 2rem;