phosphor-fsloader

Watched-directory + metadata-pack loader skeleton.

Generic filesystem-backed registry skeleton: directory walking, file watching, debounced rescans, user-wins-over-system layering, plus a pluggable IScanStrategy. DirectoryLoader handles the flat-*.json case (used by curve and profile loaders); MetadataPackScanStrategy<Payload> plus MetadataPackRegistryBase handle the subdirectory-with-metadata.json case (used by the shader and animation-shader registries). Renamed from phosphor-jsonloader once the metadata-pack primitives moved in.

Full API →

Key types

WatchedDirectorySet
Watcher + debounce + parent-watch + race-guard mechanism.
IScanStrategy
Pluggable enumerate/parse/commit policy.
DirectoryLoader
Flat *.json specialisation paired with IDirectoryLoaderSink.
MetadataPackScanStrategy
Subdirectory-with-metadata.json scan strategy, templated on payload.
MetadataPackRegistryBase
QObject base for registries hosting a MetadataPackScanStrategy.
ParsedEntry
Parse-result value type: source-path metadata plus a std::any payload.

Dependencies

See also

References