// Image placeholder — now accepts a real src. Falls back to striped bg with caption. const Placeholder = ({ id, label, desc, light = false, aspect, style = {}, src, alt, children }) => { const resolvedSrc = src || (window.__IMG_MAP && window.__IMG_MAP[id]); if (resolvedSrc) { return (
{alt {children}
); } return (
IMG · {id} {label} {desc}
{children}
); }; // Global id → src map, populated in index HTML window.__IMG_MAP = window.__IMG_MAP || {}; window.Placeholder = Placeholder;