Asset variants

The build process supports the notion of asset variants:
different versions of an asset that might be displayed
in different contexts. When an asset’s path is specified
in the assets section of pubspec.yaml,
the build process looks for any files with the same
name in adjacent subdirectories. Such files are then
included in the asset bundle along with the specified asset.

For example, if you have the following files in
your application directory:

And your pubspec.yaml file contains the following:

flutter

assets

graphics/background.png

Then both graphics/background.png and graphics/dark/background.png
are included in your asset bundle. The former is considered the
main asset, while the latter is considered a variant.

If, on the other hand, the graphics directory is specified:

flutter

assets

graphics/