Architecture
The Architecture section explains how Specular works under the hood — how the Roslyn incremental source generator resolves your selector expressions at build time, and how the cross-assembly cache (SpecularProvider.ctpjson) lets downstream assemblies reuse scan results without re-resolving everything from scratch.
Internals Advanced
Section titled “Internals ”These pages go beyond everyday usage and into the generator’s internals. You do not need to read them to use Specular, but they are useful if you want to understand its behavior, debug an unexpected scan result, or contribute to the project.
- How It Works — the generator pipeline, from finding selector call sites to emitting the
ISpecularProviderimplementation. - Cross-Assembly Caching — what
SpecularProvider.ctpjsonstores, how it is produced, and how downstream assemblies consume it.

