# Found pulse

The found pulse keeps a finished grid alive. Every cell that gave up a card keeps a ring in its tier's colour that slowly swells and settles, and every so often one of them throws a few sparks.

> Live preview: see it play at https://bettertyped.github.io/react-cards-opening/docs/effects/found-pulse/
>
> Find both cards, then leave the grid alone for a few seconds. Press a lit cell to see its card again.

## When it plays

It belongs to the scan, so it plays in a `ScanGrid` and a `CardHunt`, for every tier.

## How it is built

The breathing is a CSS animation on box shadow alone, 2.4 seconds a cycle, on a handful of cells. It stops with reduced motion.

Every 1.7 seconds a random found cell throws six sparks. They are the crack's own particles played with the Web Animations API, so nothing is added to the page and nothing reads computed styles. The timer only runs while the grid is on screen.

A found cell holds a button. Pressing it brings the card up out of the cell, face up, with no scan and no turn.

## What changes it

- `markers` on `ScanGrid` says which cells are found and in what colour.
- `idle` turns the sparks off while something else is going on.

## Related

- [Crack](https://bettertyped.github.io/react-cards-opening/docs/effects/crack/)
- [Rays](https://bettertyped.github.io/react-cards-opening/docs/effects/rays/)
- [Effects](https://bettertyped.github.io/react-cards-opening/docs/effects/)
- [Rarity tiers](https://bettertyped.github.io/react-cards-opening/docs/rarity-tiers/)

Source: https://bettertyped.github.io/react-cards-opening/docs/effects/found-pulse/
