Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
design_variants.hpp File Reference
#include <string>
#include <string_view>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::design::VariantProperty
 One property parsed from a variant name: "Size=Large" -> {"Size","Large"}. More...
struct  pulp::design::ContractProp
 One property in the synthesized contract: its name, the sorted-unique value set observed across the set (its enum), and the chosen default value. More...
struct  pulp::design::VariantIssue
 A named issue about a variant set that could not be cleanly collapsed. More...
struct  pulp::design::ComponentContract
 The typed component contract synthesized from a variant set. More...

Namespaces

namespace  pulp
namespace  pulp::design

Functions

std::vector< VariantProperty > pulp::design::parse_variant_name (std::string_view name)
 Parse a component-set variant name ("Size=Large, State=Hover") into ordered properties.
ComponentContract pulp::design::build_component_contract (std::string_view component, const std::vector< std::string > &variant_names)
 Build a contract from a component-set name and its member variant names.
std::string pulp::design::component_contract_json (const ComponentContract &contract)
 Serialize a contract to deterministic JSON (feeds R1's manifest / R2's lint).

Variables

constexpr std::string_view pulp::design::kVariantContractVersion = "2026.07-variant-contract-v1"
 Format id stamped into the contract; bump on a non-additive shape change.