dynamicTests

fun dynamicTests(components: List<ViddikComponent>, shard: Int = 0, shards: Int = 1): List<DynamicTest>

Every @ViddikScreenshot fixture in the module, as one dynamic test each — or the subset named by the viddik.filter system property.

The filter exists because these are dynamic tests under a single generated class, which Gradle's --tests (classes and methods only) can't reach into. It is a case-insensitive substring match against "$group - $name", with * and ? as wildcards, so both Primary and Buttons*Dark select something sensible.

A filter that matches nothing fails loudly rather than reporting an empty, green run — an accidentally over-narrow filter would otherwise look exactly like a passing verification.

shard of shards takes every Nth fixture, which is how viddik { shards = 4 } puts them in several forks. The default is the whole module, and generated code written against an older version keeps calling it that way.