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

Go to the source code of this file.

Classes

struct  pulp::design::GalleryCard
 One tagged card discovered by its leading @dsCard magic comment. More...

Namespaces

namespace  pulp
namespace  pulp::design

Functions

std::optional< GalleryCard > pulp::design::parse_gallery_card (std::string_view file_head, std::string_view path)
 Parse the leading magic comments of one source file.
std::string pulp::design::gallery_content_hash (std::string_view bytes)
 Deterministic 64-bit FNV-1a hash (lowercase hex) of a card's source bytes.
void pulp::design::sort_cards (std::vector< GalleryCard > &cards)
 Stable order: by group, then by file. The gallery diffs cleanly across passes.
std::string pulp::design::gallery_manifest_json (const std::vector< GalleryCard > &cards, const std::function< std::string(const GalleryCard &)> &png_rel)
 Deterministic JSON manifest: format_version, a total, and one entry per group (sorted, with a per-group count) listing its cards.
std::string pulp::design::gallery_html (const std::vector< GalleryCard > &cards, const std::function< std::string(const GalleryCard &)> &png_rel)
 Self-contained HTML review page: one section per group, each card shown at its declared viewport with its rendered PNG (via png_rel) and a starting-point badge.

Variables

constexpr std::string_view pulp::design::kGalleryFormatVersion = "2026.07-design-gallery-v1"
 Format id stamped into the manifest JSON; bump on a non-additive shape change.
constexpr std::string_view pulp::design::kGalleryUngrouped = "ungrouped"
 The group a card falls into when its tag omits group=.