# Equipment icon attribution

The equipment icons on the recipe page come from **two different sources
with two different licences**, listed separately because attributing both
to one source would be inaccurate.

## 1. OpenMoji — 11 icons (full-colour, rasterised PNG)

Served from `/icons/equipment-36/` and `/icons/equipment-72/` (this
directory holds only this file). Same source and licence already used for
67 of the 200 ingredient icons (see `/icons/ingredients/ATTRIBUTION.md`).

- **Source**: [OpenMoji](https://openmoji.org/), version 17.0.0 —
  <https://github.com/hfg-gmuend/openmoji> (same version already cited by the
  ingredient icon set, so the two attribution claims agree)
- **Licence**: Creative Commons Attribution-ShareAlike 4.0 International
  (CC BY-SA 4.0) — full text served at
  [`/icons/ingredients/LICENSE.txt`](/icons/ingredients/LICENSE.txt) (shared
  with the ingredient icon set rather than duplicated a second time; it is the
  same licence text either way)
- **Attribution line**: "Equipment icons by OpenMoji (openmoji.org), CC
  BY-SA 4.0."
- **Changes made**: the original SVGs (checked in at
  `site/assets/icons/equipment/*.svg`) were rasterised to 36×36 and 72×72 PNG
  (`site/scripts/build-equipment-icons.mjs`, using sharp). No other
  modification — no recolouring, cropping or recomposition.

CC BY-SA 4.0 permits commercial use. The ShareAlike term applies to these
rasterised derivatives, which are themselves offered under CC BY-SA 4.0.

### The 11 icons, and what each is reused to represent

Equipment is free-text (47 distinct strings across all published recipes,
queried directly — see `_equipmentIcon.ts`'s own header), not a structured
catalogue, so most of these are the CLOSEST AVAILABLE OpenMoji concept for a
group of real equipment terms, not a literal match for every one of them —
named explicitly below rather than left implicit.

| Codepoint | OpenMoji name | Reused to represent |
|---|---|---|
| `1F373` | cooking (fried egg in a pan) | skillet / sauté pan — OpenMoji has no empty-pan glyph; this is the closest available |
| `1F321` | thermometer | instant-read thermometer |
| `1F372` | pot of food | saucepan |
| `1F9FB` | roll of paper | parchment paper, aluminum foil |
| `1F9F5` | thread | kitchen twine, butcher's twine |
| `1F528` | hammer | meat mallet |
| `1F944` | spoon | slotted spoon |
| `1F52A` | kitchen knife | oyster knife (generic knife) |
| `1F58C` | paintbrush | pastry brush |
| `1F362` | oden (skewer/kebab food, tagged "skewer") | skewers |
| `1F963` | bowl with spoon | heatproof bowl, baking dish, ramekins |

## 2. Google Material Symbols — 3 icons (monochrome, inline SVG)

Added 2026-08-15b, closing the remaining coverage gap (Tino: "all have to
be available"). Not rasterised — inlined as raw `<svg><path>` markup
directly in `_equipmentIcon.ts` (`MATERIAL_SYMBOLS_PATHS`), coloured via
`fill="currentColor"` so it inherits `.equip-icon-mono`'s CSS colour rather
than shipping a hardcoded hex. No PNG pipeline exists for these, or is
needed — a single-colour vector path scales losslessly at any size.

- **Source**: [Material Symbols](https://fonts.google.com/icons), Google —
  <https://github.com/google/material-design-icons>
- **Licence**: Apache License 2.0 — full text at
  <https://www.apache.org/licenses/LICENSE-2.0>
- **Attribution line**: "Icons by Google (Material Symbols), Apache License
  2.0."
- **Changes made**: none to the path data itself. The source SVGs ship with
  no `fill` attribute (default black); `fill="currentColor"` was added so
  the glyph takes its colour from CSS instead.

Apache 2.0 permits commercial use and modification; this project's own
`LICENSE`/`NOTICE` obligations are satisfied by this attribution page (no
`NOTICE` file exists upstream to redistribute).

| Icon name | Used for |
|---|---|
| `oven` | the bare term "oven" (checked to resolve AFTER every skillet keyword, since several real terms like "oven-safe skillet" contain the substring "oven" but are skillets — see `_equipmentIcon.ts`'s own ordering comment) |
| `blender` | immersion blender, high-speed blender, **and** food processor (reused — closest available concept, both are motorised food-chopping appliances, same reasoning OpenMoji's bowl icon above is reused for bakeware) |
| `kitchen` | **generic fallback**, used for every remaining term neither OpenMoji nor a specific Material Symbols entry covers |

## The remaining real gap, and the generic fallback

Even Material Symbols — a 2,500+ glyph, actively maintained general-purpose
icon set — has no dedicated glyph for a whisk, tongs, a grater, a colander/
strainer/steamer basket, a vegetable peeler, a wire rack, or a flat baking
sheet/tray (checked directly against that project's real `.codepoints`
metadata file, not assumed absent). Per Tino's explicit direction, these
terms now render Material Symbols' generic `kitchen` glyph rather than no
icon at all — a deliberate, named exception to the "no icon resolves → no
element, never a generic glyph" doctrine the ingredient icon set follows
(see `_equipmentIcon.ts`'s header for the full reasoning). The largest gap
by volume is the baking-sheet/tray family (11 of 109 total occurrences),
followed by wire rack (4) and tongs (4) — the best candidates for a future
dedicated icon (AI-generated, matching the house TG-prefixed style) rather
than the generic fallback, when that tooling is available.
