diff --git a/apps/editor/components/build-tab.tsx b/apps/editor/components/build-tab.tsx index 508deb3225..f9e821422e 100644 --- a/apps/editor/components/build-tab.tsx +++ b/apps/editor/components/build-tab.tsx @@ -586,7 +586,7 @@ export function BuildTab() { if (option.id !== 'fittingType') return undefined if (kind === 'duct-fitting' && value === 'elbow') return '/icons/duct-fitting.webp' - return `/icons/fittings/${kind === 'duct-fitting' ? 'duct' : 'pipe'}-${value}.png` + return `/icons/fittings/${kind === 'duct-fitting' ? 'duct' : 'pipe'}-${value}.webp` }} kind={kind} onSelect={(option, value) => { diff --git a/apps/editor/public/icons/fittings/README.md b/apps/editor/public/icons/fittings/README.md index 9d3bc525ce..f1ca01776d 100644 --- a/apps/editor/public/icons/fittings/README.md +++ b/apps/editor/public/icons/fittings/README.md @@ -2,25 +2,31 @@ Generated with the built-in image generation tool using `../duct-fitting.webp` as the style reference. The existing duct elbow keeps that original icon. +The generator emits a large PNG; re-encode it before committing, because these ship in the portable CLI runtime and render at 56 px: + +```sh +cwebp -q 85 -m 6 -alpha_q 100 -resize 256 256 .png -o .webp +``` + ## Prompt template Create one catalog thumbnail asset for SUBJECT. Reference image is STYLE REFERENCE ONLY. Match its polished lavender purple 3D isometric product icon, soft lilac highlights, darker violet interiors, fine bright edges. Actual subject must be SUBJECT, not the reference elbow. Single isolated object centered, occupying 78% of square canvas. Three-quarter view from above showing its identifying geometry clearly at 56px. Transparent background, no floor, no text, no labels, no watermark, no additional objects. Save generated asset. Asset identifier NAME. ## Subjects -- `duct-tee.png`: rectangular HVAC duct T junction with exactly three rectangular flanged openings. -- `duct-cross.png`: rectangular HVAC duct cross junction with exactly four rectangular flanged openings. -- `duct-reducer.png`: round HVAC concentric reducer, wide circular opening tapering into a smaller circular opening. -- `duct-transition.png`: HVAC transition from a wide rectangular flanged opening to a round circular collar. -- `duct-end-cap.png`: short rectangular HVAC duct end cap with a sealed flat rectangular face and flanged rim. -- `duct-damper.png`: rectangular HVAC balancing damper, short flanged hollow rectangular sleeve with a visible internal blade and external adjustment lever. -- `duct-access-panel.png`: rectangular HVAC access door panel, flat framed closed door with two hinges and two latches. -- `duct-coupling.png`: short straight rectangular HVAC coupling sleeve with two opposite equal rectangular openings and a center seam. -- `pipe-elbow.png`: round plumbing pipe 90 degree curved elbow, exactly two circular socket openings. -- `pipe-wye.png`: round plumbing pipe Y junction with three circular socket openings, branch at 45 degrees. -- `pipe-sanitary-tee.png`: round plumbing sanitary tee with three circular socket openings, curved sweeping side branch. -- `pipe-cross.png`: round plumbing cross fitting with four circular socket openings. -- `pipe-end-cap.png`: round plumbing pipe end cap with a closed circular end. -- `pipe-cleanout.png`: round plumbing cleanout fitting with a prominent threaded hexagonal removable plug sealing its end. -- `pipe-reducer.png`: round plumbing concentric reducer with wide circular socket tapering to narrow circular socket. -- `pipe-coupling.png`: short straight round plumbing coupling with two equal circular socket openings. +- `duct-tee.webp`: rectangular HVAC duct T junction with exactly three rectangular flanged openings. +- `duct-cross.webp`: rectangular HVAC duct cross junction with exactly four rectangular flanged openings. +- `duct-reducer.webp`: round HVAC concentric reducer, wide circular opening tapering into a smaller circular opening. +- `duct-transition.webp`: HVAC transition from a wide rectangular flanged opening to a round circular collar. +- `duct-end-cap.webp`: short rectangular HVAC duct end cap with a sealed flat rectangular face and flanged rim. +- `duct-damper.webp`: rectangular HVAC balancing damper, short flanged hollow rectangular sleeve with a visible internal blade and external adjustment lever. +- `duct-access-panel.webp`: rectangular HVAC access door panel, flat framed closed door with two hinges and two latches. +- `duct-coupling.webp`: short straight rectangular HVAC coupling sleeve with two opposite equal rectangular openings and a center seam. +- `pipe-elbow.webp`: round plumbing pipe 90 degree curved elbow, exactly two circular socket openings. +- `pipe-wye.webp`: round plumbing pipe Y junction with three circular socket openings, branch at 45 degrees. +- `pipe-sanitary-tee.webp`: round plumbing sanitary tee with three circular socket openings, curved sweeping side branch. +- `pipe-cross.webp`: round plumbing cross fitting with four circular socket openings. +- `pipe-end-cap.webp`: round plumbing pipe end cap with a closed circular end. +- `pipe-cleanout.webp`: round plumbing cleanout fitting with a prominent threaded hexagonal removable plug sealing its end. +- `pipe-reducer.webp`: round plumbing concentric reducer with wide circular socket tapering to narrow circular socket. +- `pipe-coupling.webp`: short straight round plumbing coupling with two equal circular socket openings. diff --git a/apps/editor/public/icons/fittings/duct-access-panel.png b/apps/editor/public/icons/fittings/duct-access-panel.png deleted file mode 100644 index 24f81134a0..0000000000 Binary files a/apps/editor/public/icons/fittings/duct-access-panel.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/duct-access-panel.webp b/apps/editor/public/icons/fittings/duct-access-panel.webp new file mode 100644 index 0000000000..e111436c31 Binary files /dev/null and b/apps/editor/public/icons/fittings/duct-access-panel.webp differ diff --git a/apps/editor/public/icons/fittings/duct-coupling.png b/apps/editor/public/icons/fittings/duct-coupling.png deleted file mode 100644 index bb5cf3d1e6..0000000000 Binary files a/apps/editor/public/icons/fittings/duct-coupling.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/duct-coupling.webp b/apps/editor/public/icons/fittings/duct-coupling.webp new file mode 100644 index 0000000000..7a2850397a Binary files /dev/null and b/apps/editor/public/icons/fittings/duct-coupling.webp differ diff --git a/apps/editor/public/icons/fittings/duct-cross.png b/apps/editor/public/icons/fittings/duct-cross.png deleted file mode 100644 index 328eb2d8b5..0000000000 Binary files a/apps/editor/public/icons/fittings/duct-cross.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/duct-cross.webp b/apps/editor/public/icons/fittings/duct-cross.webp new file mode 100644 index 0000000000..2bf4440cd7 Binary files /dev/null and b/apps/editor/public/icons/fittings/duct-cross.webp differ diff --git a/apps/editor/public/icons/fittings/duct-damper.png b/apps/editor/public/icons/fittings/duct-damper.png deleted file mode 100644 index 0ab31b265d..0000000000 Binary files a/apps/editor/public/icons/fittings/duct-damper.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/duct-damper.webp b/apps/editor/public/icons/fittings/duct-damper.webp new file mode 100644 index 0000000000..d6b097fbbe Binary files /dev/null and b/apps/editor/public/icons/fittings/duct-damper.webp differ diff --git a/apps/editor/public/icons/fittings/duct-end-cap.png b/apps/editor/public/icons/fittings/duct-end-cap.png deleted file mode 100644 index 4bcfa350e7..0000000000 Binary files a/apps/editor/public/icons/fittings/duct-end-cap.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/duct-end-cap.webp b/apps/editor/public/icons/fittings/duct-end-cap.webp new file mode 100644 index 0000000000..ac03974669 Binary files /dev/null and b/apps/editor/public/icons/fittings/duct-end-cap.webp differ diff --git a/apps/editor/public/icons/fittings/duct-reducer.png b/apps/editor/public/icons/fittings/duct-reducer.png deleted file mode 100644 index f2ab6a1b06..0000000000 Binary files a/apps/editor/public/icons/fittings/duct-reducer.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/duct-reducer.webp b/apps/editor/public/icons/fittings/duct-reducer.webp new file mode 100644 index 0000000000..5af2254b8b Binary files /dev/null and b/apps/editor/public/icons/fittings/duct-reducer.webp differ diff --git a/apps/editor/public/icons/fittings/duct-tee.png b/apps/editor/public/icons/fittings/duct-tee.png deleted file mode 100644 index 621533a398..0000000000 Binary files a/apps/editor/public/icons/fittings/duct-tee.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/duct-tee.webp b/apps/editor/public/icons/fittings/duct-tee.webp new file mode 100644 index 0000000000..9afdc9f266 Binary files /dev/null and b/apps/editor/public/icons/fittings/duct-tee.webp differ diff --git a/apps/editor/public/icons/fittings/duct-transition.png b/apps/editor/public/icons/fittings/duct-transition.png deleted file mode 100644 index f0fab667e2..0000000000 Binary files a/apps/editor/public/icons/fittings/duct-transition.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/duct-transition.webp b/apps/editor/public/icons/fittings/duct-transition.webp new file mode 100644 index 0000000000..4af29ceb75 Binary files /dev/null and b/apps/editor/public/icons/fittings/duct-transition.webp differ diff --git a/apps/editor/public/icons/fittings/pipe-cleanout.png b/apps/editor/public/icons/fittings/pipe-cleanout.png deleted file mode 100644 index 502fef5245..0000000000 Binary files a/apps/editor/public/icons/fittings/pipe-cleanout.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/pipe-cleanout.webp b/apps/editor/public/icons/fittings/pipe-cleanout.webp new file mode 100644 index 0000000000..8837457471 Binary files /dev/null and b/apps/editor/public/icons/fittings/pipe-cleanout.webp differ diff --git a/apps/editor/public/icons/fittings/pipe-coupling.png b/apps/editor/public/icons/fittings/pipe-coupling.png deleted file mode 100644 index 0c89d05530..0000000000 Binary files a/apps/editor/public/icons/fittings/pipe-coupling.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/pipe-coupling.webp b/apps/editor/public/icons/fittings/pipe-coupling.webp new file mode 100644 index 0000000000..ead21a241e Binary files /dev/null and b/apps/editor/public/icons/fittings/pipe-coupling.webp differ diff --git a/apps/editor/public/icons/fittings/pipe-cross.png b/apps/editor/public/icons/fittings/pipe-cross.png deleted file mode 100644 index e6da6da425..0000000000 Binary files a/apps/editor/public/icons/fittings/pipe-cross.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/pipe-cross.webp b/apps/editor/public/icons/fittings/pipe-cross.webp new file mode 100644 index 0000000000..de6c033e61 Binary files /dev/null and b/apps/editor/public/icons/fittings/pipe-cross.webp differ diff --git a/apps/editor/public/icons/fittings/pipe-elbow.png b/apps/editor/public/icons/fittings/pipe-elbow.png deleted file mode 100644 index f99c369437..0000000000 Binary files a/apps/editor/public/icons/fittings/pipe-elbow.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/pipe-elbow.webp b/apps/editor/public/icons/fittings/pipe-elbow.webp new file mode 100644 index 0000000000..fd7ca58e34 Binary files /dev/null and b/apps/editor/public/icons/fittings/pipe-elbow.webp differ diff --git a/apps/editor/public/icons/fittings/pipe-end-cap.png b/apps/editor/public/icons/fittings/pipe-end-cap.png deleted file mode 100644 index 1b58ae1cf5..0000000000 Binary files a/apps/editor/public/icons/fittings/pipe-end-cap.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/pipe-end-cap.webp b/apps/editor/public/icons/fittings/pipe-end-cap.webp new file mode 100644 index 0000000000..24695065a8 Binary files /dev/null and b/apps/editor/public/icons/fittings/pipe-end-cap.webp differ diff --git a/apps/editor/public/icons/fittings/pipe-reducer.png b/apps/editor/public/icons/fittings/pipe-reducer.png deleted file mode 100644 index 6be0236f7c..0000000000 Binary files a/apps/editor/public/icons/fittings/pipe-reducer.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/pipe-reducer.webp b/apps/editor/public/icons/fittings/pipe-reducer.webp new file mode 100644 index 0000000000..ef3a835947 Binary files /dev/null and b/apps/editor/public/icons/fittings/pipe-reducer.webp differ diff --git a/apps/editor/public/icons/fittings/pipe-sanitary-tee.png b/apps/editor/public/icons/fittings/pipe-sanitary-tee.png deleted file mode 100644 index a8536f422e..0000000000 Binary files a/apps/editor/public/icons/fittings/pipe-sanitary-tee.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/pipe-sanitary-tee.webp b/apps/editor/public/icons/fittings/pipe-sanitary-tee.webp new file mode 100644 index 0000000000..fb2bf2bcad Binary files /dev/null and b/apps/editor/public/icons/fittings/pipe-sanitary-tee.webp differ diff --git a/apps/editor/public/icons/fittings/pipe-wye.png b/apps/editor/public/icons/fittings/pipe-wye.png deleted file mode 100644 index e367f252ce..0000000000 Binary files a/apps/editor/public/icons/fittings/pipe-wye.png and /dev/null differ diff --git a/apps/editor/public/icons/fittings/pipe-wye.webp b/apps/editor/public/icons/fittings/pipe-wye.webp new file mode 100644 index 0000000000..8eb29b1e3b Binary files /dev/null and b/apps/editor/public/icons/fittings/pipe-wye.webp differ