Remove the baked-in gradient from the target images (DES-274) - #493
Merged
Conversation
Target images shipped with a gradient baked into the raster, so adding a new target meant recreating that gradient inside the image before uploading it. All 20 target images are now clean 800x600 transparent PNGs - drop in a cutout and it matches. If we want the gradient back, it belongs in CSS on the hero component, applied once, instead of in every asset. Also improved a couple of images along the way: - Jetson AGX Orin and Orin NX were still gradient-baked JPEGs, and their solutions heroes were wrong - AGX Orin pointed at a file that doesn't exist, Orin NX reused the Orin Nano photo. Both now use the new transparent art. - Removed the superseded .jpeg files and two unreferenced NVIDIA images. While confirming the images resolved, fixed the remaining dangling references - these don't fail the build, they just render broken: - Three AGX Orin use-case images were never committed; repointed at existing art. - Four ogImage paths had drifted: iq9.jpeg -> iq-9.jpeg, nxp-imx8mp.jpg -> nxp-imx8p.jpg, and both Raspberry Pi pages still referenced raspberry-pi.jpg, deleted back in 1f70b8b. Every /img/ reference across docs-hardware and the solutions data now resolves.
cesartevisual
requested review from
lee-reinhardt and
nicksinas
and
a lite review from Copilot
and removed request for
Copilot
August 28, 2026 17:08
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the docs site’s solution metadata and hardware pages to stop relying on gradient-baked / outdated raster assets, and to ensure all referenced /img/... paths resolve to the current cleaned image set.
Changes:
- Updated multiple
ogImagepaths in solution data to point at existing, correctly named assets. - Updated NVIDIA Jetson solution + hardware pages to use the new transparent
.pnghero images (instead of legacy.jpeg/incorrect files). - Repointed missing NVIDIA AGX Orin use-case image references to existing
/img/use-cases/...assets.
Reviewed changes
Copilot reviewed 8 out of 32 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/src/data/solutions/raspberry-pi/raspberry-pi-5.ts | Updates ogImage to the correct Raspberry Pi 5 asset. |
| src/src/data/solutions/raspberry-pi/raspberry-pi-4-model-b.ts | Updates ogImage to a valid Raspberry Pi 4 image path. |
| src/src/data/solutions/qualcomm/iq9.ts | Fixes ogImage filename drift (iq9.jpeg → iq-9.jpeg). |
| src/src/data/solutions/nxp/imx8mp.ts | Fixes ogImage filename drift (nxp-imx8mp.jpg → nxp-imx8p.jpg). |
| src/src/data/solutions/nvidia/jetson-orin-nx.ts | Updates hero image path/alt text to the new Orin NX art. |
| src/src/data/solutions/nvidia/jetson-agx-orin.ts | Updates OG/hero images and repoints missing use-case images to existing assets. |
| src/docs-hardware/nvidia/jetson-orin-nx/index.mdx | Switches hardware hero image from .jpeg to .png. |
| src/docs-hardware/nvidia/jetson-agx-orin/index.mdx | Switches hardware hero image from .jpeg to .png. |
Suppressed comments (1)
src/src/data/solutions/nvidia/jetson-agx-orin.ts:86
- This placeholder image (
ml-inference-server.png) doesn’t match the “Surgical Robotics” use case, andUseCasesuses the title as the<img>alt text. Consider switching to a closer-fit placeholder so the title-based alt isn’t misleading.
image: '/img/use-cases/ml-inference-server.png',
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Copilot flagged the Autonomous Vehicles use-case image as mismatched with its
title. The image was right and its filename was wrong: the file named
factory-quality-inspection.png is a road scene with cars, pedestrians, and
signage under object detection. Renamed it to road-scene-perception.png so the
name matches both the content and the use case. It had one referencer.
The other half of the comment was a real bug. UseCases renders alt={title} and
its props type never declared imageAlt, so all 36 imageAlt values in the
solutions data were silently dead. The component now renders
alt={imageAlt ?? title}, and the two AGX Orin cards Copilot pointed at describe
their art instead of restating the heading.
lee-reinhardt
previously approved these changes
Aug 28, 2026
The Grinn AstraSOM 1680 was missed by the first pass: it still carried the baked-in blurple glow, and its trim box was the halo (1033x1033) rather than the module. Regenerated as a clean 800x600 transparent cutout like the rest. Two canvases were also left un-normalized, so the heroes rendered at inconsistent scale under `object-fit: contain`: the HummingBoard RZ/V2N kept its 1080x1080 canvas after the glow came off, and the STM32MP257F-DK was a 1000x1000 cutout the first pass never touched. Both are 800x600 now, which makes all 19 hero images uniform. The FRDM i.MX 93 pages rendered the wrong product: both the hardware hero and the solutions hero pointed at NXP-FRDM-MCXN947.png, an MCX N947 MCU board (silkscreen `FRDM-MCXN947`), while the correct i.MX 93 art sat unreferenced at hardware/nxp/nxp_frdm-imx-93.png. Repointed both. NXP-FRDM-MCXN947.png is now unreferenced but kept — it is correctly-named art for a real board, not a superseded duplicate like the NVIDIA files this branch removed.
Five solution pages emitted a `<link rel="canonical">` for a URL the site does not serve, which tells search engines to drop the real page in favour of a 404: /solutions/raspberry-pi/raspberry-pi-5 -> .../raspberry-pi/raspberry-pi /solutions/raspberry-pi/raspberry-pi-4-model-b -> .../raspberry-pi/raspberry-pi /solutions/onlogic/fr201 -> .../onlogic /solutions/qualcomm/iq-9 -> .../qualcomm/iq9 /solutions/seeed/reterminal -> .../seeed None of those five targets is a route under `src/pages/solutions`, and none has a `plugin-client-redirects` entry, so each was a hard 404. Every canonical now matches its own route; verified against the built HTML. Note for a follow-up: `/solutions/stmicroelectronics/stm32mp157d-dk` renders `stm32mp257f-dk.ts` — the route names a different product than the page describes. Its canonical is self-consistent, so it is left alone here; fixing it means renaming a public URL and adding a redirect.
lee-reinhardt
approved these changes
Aug 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Target images shipped with a gradient baked into the raster, so adding a new target meant recreating that gradient inside the image before uploading it. Every hero image is now a clean 800×600 transparent PNG — drop in a cutout and it matches. If we want the gradient back, it belongs in CSS on the hero component, applied once, instead of in every asset.
Also improved a couple of images along the way:
.jpegfiles and two unreferenced NVIDIA images.While confirming the images resolved, fixed the remaining dangling references — these don't fail the build, they just render broken:
ogImagepaths had drifted:iq9.jpeg→iq-9.jpeg,nxp-imx8mp.jpg→nxp-imx8p.jpg, and both Raspberry Pi pages still referencedraspberry-pi.jpg, deleted back in1f70b8b3.Every
/img/reference acrossdocs-hardwareand the solutions data now resolves.Review follow-ups
object-fit: contain: the HummingBoard RZ/V2N kept its 1080×1080 canvas after the glow came off, and the STM32MP257F-DK was a 1000×1000 cutout the first pass never touched. Both are 800×600 now — all 19 hero images are uniform.NXP-FRDM-MCXN947.png, an MCX N947 MCU board, while the correct i.MX 93 art sat unreferenced. Repointed both;NXP-FRDM-MCXN947.pngis kept, since it's correctly-named art for a real board rather than a superseded duplicate.canonicalUrlpointing at a URL the site doesn't serve —/solutions/raspberry-pi/raspberry-pi,/solutions/onlogic,/solutions/qualcomm/iq9,/solutions/seeed. None is a route and none has a redirect, so each was a canonical tag aimed at a 404. Copilot flagged two; the audit found three more. All 13 solution routes now match their own canonical, verified in the built HTML. Not fixed here:/solutions/stmicroelectronics/stm32mp157d-dkrendersstm32mp257f-dk.ts, so the route names the wrong product — that needs a URL rename plus a redirect.factory-quality-inspection.pngis a road scene under object detection, so it fits "Autonomous Vehicles". Renamed toroad-scene-perception.png. The alt half was a real bug:UseCasesrenderedalt={useCase.title}and never declaredimageAlt, so all 36imageAltvalues in the solutions data were dead. It now rendersalt={useCase.imageAlt ?? useCase.title}.Checklist
Peridio, Inc. as described in the Contributing guidelines.
defamatory, infringing, or unlawful.
bash scripts/checks.sh) and they pass.