Importer operations over the DesignIR value model: canonical JSON serialize/parse, asset-manifest collection, CSS box-shadow round-trip, and interactive-frame promotion. More...
#include <pulp/view/design_ir.hpp>#include <cstddef>#include <stdexcept>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | pulp::view::DesignIrParseError |
| Thrown by parse_design_ir_json for input that is not well-formed JSON: truncated documents, unterminated strings or escapes, unbalanced or over-deep nesting, embedded NUL bytes, and anything the JSON parser itself refuses. More... | |
Namespaces | |
| namespace | pulp |
| namespace | pulp::view |
| Hover-cursor tracking for platform window hosts. | |
Functions | |
| WidgetPromotionSignal | pulp::view::classify_interactive_signal (const IRNode &node) |
| Inspect one IR node for interactive-frame promotion signals. | |
| std::size_t | pulp::view::promote_interactive_frames (IRNode &root) |
| Promote parsed frame nodes carrying click/ARIA/cursor signals to button. | |
| std::vector< IRBoxShadow > | pulp::view::parse_css_box_shadow (const std::string &css) |
| Parse a CSS box-shadow value into ordered layers. | |
| std::string | pulp::view::box_shadow_to_css (const std::vector< IRBoxShadow > &shadows) |
| Serialize ordered box-shadow layers back to a CSS box-shadow string, preferring each layer's raw text when present (lossless) and otherwise reconstructing from the parsed fields. | |
| std::string | pulp::view::serialize_design_ir (const DesignIR &ir, const DesignIrJsonOptions &options={}) |
| Serialize a DesignIR as a deterministic, versioned canonical JSON envelope. | |
| DesignIR | pulp::view::parse_design_ir_json (const std::string &json) |
| Parse either the v1 canonical envelope or a legacy bare-node IR JSON document. | |
| IRAssetManifest | pulp::view::collect_design_ir_assets (const DesignIR &ir, const DesignIrAssetOptions &options={}) |
| Collect all external resources referenced by the IR into a manifest. | |
| void | pulp::view::refresh_design_ir_asset_manifest (DesignIR &ir, const DesignIrAssetOptions &options={}) |
| Refresh ir.asset_manifest from the current tree while preserving embedded manifest entries whose stable asset_id may already be referenced by nodes. | |
Variables | |
| constexpr std::size_t | pulp::view::kMaxDesignIrJsonDepth = 512 |
| Deepest object/array nesting parse_design_ir_json accepts. | |
Importer operations over the DesignIR value model: canonical JSON serialize/parse, asset-manifest collection, CSS box-shadow round-trip, and interactive-frame promotion.
Part of pulp-design-import; the value types they operate on live in design_ir.hpp (pulp-design-ir).