51#include <unordered_map>
121 const std::string& json,
122 const std::string& source_name,
123 std::string* error_out =
nullptr);
129 const std::string& name)
const;
132 bool empty()
const {
return sources_.empty(); }
135 std::vector<RecognitionSource> sources_;
157 std::vector<UnmatchedComponent>* unmatched_out =
nullptr);
187 const std::filesystem::path& lockfile_path,
188 const std::filesystem::path& registry_path);
194 const std::filesystem::path& start_dir);
The single merge layer.
Definition recognition_resolver.hpp:104
RecognitionResolver & add_source(RecognitionSource source)
Append a source.
static std::optional< RecognitionSource > parse_manifest_json(const std::string &json, const std::string &source_name, std::string *error_out=nullptr)
Parse a recognition manifest in the flat library-manifest.json shape: { "widgets": { "<name>": { "kin...
ResolvedControl resolve(const std::string &component_key, const std::string &name) const
Resolve one node's identity.
bool empty() const
Whether any source contributed at least one entry.
Definition recognition_resolver.hpp:132
RecognitionResolver()=default
Empty resolver (no built-in seed) — used by tests and by callers that want full control over the sour...
Normalized intermediate representation (IR) for imported designs: the IR value model (style,...
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
PackageDesignControlSources gather_package_design_controls(const std::filesystem::path &lockfile_path, const std::filesystem::path ®istry_path)
AudioWidgetType audio_widget_kind_from_manifest_id(const std::string &id)
Map an AudioWidgetType to/from the lowercase id used in manifests and the figma-plugin envelope ("kno...
int materialize_recognized_custom_controls(IRNode &root)
AudioWidgetType
Audio widget type detected from naming conventions or annotations.
Definition design_ir.hpp:258
@ none
Definition design_ir.hpp:259
const char * audio_widget_kind_to_manifest_id(AudioWidgetType kind)
int apply_recognition_resolver(IRNode &root, const RecognitionResolver &resolver, std::vector< UnmatchedComponent > *unmatched_out=nullptr)
PackageDesignControlSources discover_package_design_controls(const std::filesystem::path &start_dir)
Definition design_ir.hpp:614
Definition recognition_resolver.hpp:179
std::vector< RecognitionSource > sources
Definition recognition_resolver.hpp:180
std::vector< std::string > warnings
non-fatal parse/skip notes
Definition recognition_resolver.hpp:181
One recognition source: a flat map of a designer's component identity to the Pulp control it material...
Definition recognition_resolver.hpp:60
std::string component_set_key
Figma published component-set key (authoritative identity).
Definition recognition_resolver.hpp:66
std::string factory_id
#4677 (custom controls): the registered factory id this identity resolves to.
Definition recognition_resolver.hpp:73
std::string name_prefix
Optional layer/component name prefix fallback (case-insensitive), used when no key matched.
Definition recognition_resolver.hpp:69
AudioWidgetType kind
Pulp built-in control kind.
Definition recognition_resolver.hpp:63
A named bundle of recognition entries from one origin (built-in library, user manifest,...
Definition recognition_resolver.hpp:79
std::vector< RecognitionEntry > entries
Definition recognition_resolver.hpp:81
std::string name
e.g. "builtin-library", "user-manifest", "<pkg>"
Definition recognition_resolver.hpp:80
The result of resolving one node's identity against the merged table.
Definition recognition_resolver.hpp:85
std::string via
How it matched: "key" (authoritative) or "name_prefix" (fallback).
Definition recognition_resolver.hpp:91
std::string source_name
which source won the match
Definition recognition_resolver.hpp:89
AudioWidgetType kind
Definition recognition_resolver.hpp:87
std::string factory_id
non-empty only for custom-control matches
Definition recognition_resolver.hpp:88
bool matched
Definition recognition_resolver.hpp:86
Apply the resolver to a parsed figma-plugin IR tree IN PLACE: for every node that carries a Figma com...
Definition recognition_resolver.hpp:151
std::string name
Definition recognition_resolver.hpp:153
std::string component_key
Definition recognition_resolver.hpp:152