Definition
icons (manifest field)
icons is a manifest array of objects like {"src": "/icon-512.png", "sizes": "512x512", "type": "image/png"}. Chromium requires at least a 192x192 and a 512x512 PNG for install eligibility; the browser picks the closest size for each surface (home screen, splash screen, task switcher) rather than scaling a single image.
Supplying only one large icon works because browsers downscale, but supplying multiple explicit sizes avoids blurry results on high-density displays and lets you hand-tune small sizes for legibility.
The purpose field, e.g. "purpose": "any", "purpose": "maskable" or "purpose": "monochrome", tells the OS how the icon may be cropped or recoloured; entries without purpose default to "any".
Chromium's installability check specifically looks for a PNG (or SVG/WebP) icon of at least 192x192 with purpose "any" or unset — an icon set that only declares maskable variants can fail the check.
Test real device rendering with the Maskable.app tool, since a non-maskable icon placed inside Android's adaptive-icon mask often gets its edges clipped.