/* Bespoke SVG illustrations, diagrams, and abstract graphics for Auctera */
/* 1. Hero architecture — flowing unified engine */
function HeroArchitecture() {
// central node + orbit rings
const cx = 300, cy = 300;
const coreR = 72; // central node radius
const haloR = 90; // dashed halo around the core
const innerOrbit = 150; // orbit the nodes sit on
const midOrbit = 210;
const outerOrbit = 270;
const nodeR = 18;
// 6 nodes evenly distributed on the inner orbit
const nodes = [
{ angle: -90, label: "DSP" },
{ angle: -30, label: "Affiliate" },
{ angle: 30, label: "Retarget" },
{ angle: 90, label: "Measure" },
{ angle: 150, label: "Fraud" },
{ angle: 210, label: "Reporting" },
].map(n => {
const rad = (n.angle * Math.PI) / 180;
return { ...n, x: cx + innerOrbit * Math.cos(rad), y: cy + innerOrbit * Math.sin(rad), rad };
});
return (
);
}
/* 2. Fragmented vs Unified diagram */
function FragmentedVsUnified() {
return (
);
}
/* 3. Latency / sub-50ms visualization */
function LatencyViz() {
return (
);
}
/* 4. Globe/liquidity — arcs over world */
function LiquidityGlobe() {
return (
);
}
/* 5. Flow diagram (6 steps) */
function FlowSix() {
const labels = ["Connect","Goals","Audience","Launch","AI","Measure"];
return (
);
}
/* 6. Abstract product panel — used as hero aside */
function BidNodePanel() {
return (
BID_NODE · ALPHA
OPTIMIZED
<50ms
avg execution · pre-bid filter · IVT scored
);
}
/* 7. Dashboard tile */
function DashboardTile() {
return (
Unified performance · wk 17
LIVE
{[["$2.14M","Spend"],["7.4x","Blended ROAS"],["12,840","Conversions"]].map(([v,l],i)=>(
))}
Unified
Legacy stack
);
}
/* 8. Retarget ring */
function RetargetRing() {
return (
);
}
/* 9. Marketplace two-sided */
function TwoSidedDiagram() {
return (
);
}
/* 10. Journey timeline */
function JourneyTimeline({ points }) {
return (
);
}
/* Expose */
/* Aliases used by platform pages */
const RetargetGraphPanel = RetargetRing;
const NetworkPanel = TwoSidedDiagram;
const FlowPanel = FlowSix;
/* =============================================================
* ADDITIONAL ILLUSTRATIONS — Solutions / Capabilities / About
* Each renders a distinct abstract diagram to keep the library
* visually varied across the new pages.
* ============================================================= */
/* Targeting — concentric audience rings with nested precision dot */
function AudiencePrecision() {
return (
);
}
/* Fraud shield — layered shield with filter gates */
function FraudShield() {
return (
);
}
/* Creative grid — dynamic creative optimization */
function CreativeGrid() {
const palette = ["#0E1410","#C98B3A","#F6F2EC","#A7701F","#1A2520"];
return (
);
}
/* Conversion funnel — step pyramid with drop-offs */
function ConversionFunnel() {
const rows = [
["IMPRESSION","1,200,000",460],
["CLICK","84,000",360],
["VISIT","62,000",280],
["ADD TO CART","9,800",180],
["CONVERT","2,340",100],
];
return (
);
}
/* Brand safety — layered "stack" of protection barriers */
function BrandSafetyStack() {
const layers = [
{ label: "PRE-BID FILTERING", sub: "Category & URL exclusion" },
{ label: "CONTEXTUAL ANALYSIS", sub: "NLP content classification" },
{ label: "VERIFICATION PARTNERS", sub: "IAS · DoubleVerify" },
{ label: "POST-BID MONITORING", sub: "Continuous brand audits" },
];
return (
);
}
/* Attribution diagram — multi-touch journey collapsing to a single outcome */
function AttributionFlow() {
const touches = [
{ t: "Display", x: 40 },
{ t: "Search", x: 130 },
{ t: "Email", x: 220 },
{ t: "Retarget", x: 310 },
{ t: "Affiliate", x: 400 },
];
return (
);
}
/* Marketplace mesh — interconnected exchange grid */
function MarketplaceMesh() {
const buyers = [[60,80],[60,180],[60,280],[60,380]];
const sellers = [[420,80],[420,180],[420,280],[420,380]];
const hub = [240, 230];
return (
);
}
/* Retention cycle — looping return arrows */
function RetentionLoop() {
return (
);
}
/* Answer engine — citation block */
function AnswerEngine() {
return (
);
}
/* Offer ladder — tier blocks with performance deltas */
function OfferLadder() {
const tiers = [
["TIER A · HERO", "$50 CPA", 100, "#0E1410"],
["TIER B · FAST", "$38 CPA", 80, "rgba(14,20,16,0.8)"],
["TIER C · LONG-TAIL", "$22 CPA", 60, "#C98B3A"],
["TIER D · TEST", "—", 40, "rgba(201,139,58,0.5)"],
];
return (
);
}
/* ROI index — upward slope graph */
function RoiSlope() {
return (
);
}
/* Agency multi-account panel */
function AgencyAccounts() {
const rows = [
["Beacon Retail","ACTIVE","$42k","+12%"],
["Northwind DTC","ACTIVE","$28k","+8%"],
["Atlas Sport","PAUSED","—","—"],
["Luma Beauty","ACTIVE","$61k","+22%"],
["Pinehurst","ACTIVE","$18k","+4%"],
];
return (
);
}
/* Brand awareness — reach ripple */
function BrandRipple() {
return (
);
}
/* Publisher yield — rate card */
function PublisherYield() {
const cells = [
["DISPLAY","$4.20"],["VIDEO","$12.50"],["NATIVE","$6.80"],
["CTV","$22.00"],["MOBILE","$3.90"],["HOUSE","—"],
];
return (
);
}
/* Team / about — abstract constellation of contributor nodes */
function TeamConstellation() {
const nodes = [
[100, 140],[180, 80],[260, 140],[340, 100],[420, 150],
[80, 240],[200, 260],[320, 240],[400, 260],
[140, 360],[240, 380],[340, 360],[420, 350]
];
return (
);
}
/* === New illustrations for replacing reused FragmentedVsUnified instances === */
/* DataLeakDiagram — pipes with leaking droplets (for solutions-advertisers) */
function DataLeakDiagram() {
return (
);
}
/* SixProductsConstellation — for platform-overview (one engine, six orbits) */
function SixProductsConstellation() {
const products = [
{ a: -90, label: "DSP" },
{ a: -30, label: "AFFILIATE" },
{ a: 30, label: "RETARGET" },
{ a: 90, label: "MEASURE" },
{ a: 150, label: "REPORTING" },
{ a: 210, label: "FRAUD" },
];
const cx = 400, cy = 230, r = 150;
return (
);
}
/* TruthLedger — for blog (rows of conflicting numbers reconciling to one) */
function TruthLedger() {
const rows = [
["DSP","12,840","13,201","12,710"],
["AFFILIATE","2,118","1,944","2,205"],
["RETARGET","6,402","6,800","6,200"],
["TOTAL","21,360","21,945","21,115"],
];
return (
);
}
/* StackBlocks — for platform-how-it-works "Integrates with your stack" */
function StackBlocks({ tools }) {
const items = tools || ["Google Analytics","Segment","Shopify","Salesforce","Snowflake","BigQuery","HubSpot","Marketo"];
return (
);
}
/* StackPlugin — for platform-measurement (more "data flowing in" feel) */
function StackPlugin() {
const tools = ["Google Analytics","Segment","Snowflake","BigQuery","Tableau","Looker","dbt","Fivetran"];
return (
);
}
/* ChannelOrbit — for retargeting "Reach Users Everywhere" (dark bg) */
function ChannelOrbit() {
const channels = ["Display","Native","Social","Video","CTV","Email"];
const cx = 400, cy = 230, r = 165;
return (
);
}
/* AffiliateNetworkPanel — for affiliate hero (richer than TwoSidedDiagram) */
function AffiliateNetworkPanel() {
return (
PARTNER LEDGER · LIVE
SETTLING
{[
["beacon.media","CONTENT · US","$8,420","+12%"],
["northwave.io","COUPONS · EU","$5,108","+4%"],
["pulseaff.co","INFLUENCER","$11,240","+18%"],
["lumen-traffic","CASHBACK · APAC","$2,910","+6%"],
].map(([n,t,v,d],i)=>(
))}
{[["Net-7","Payout"],["<0.3%","Fraud"],["180+","GEOs"]].map(([v,l],i)=>(
))}
);
}
/* VerticalsMatrix — affiliate "Active Verticals" replacement */
function VerticalsMatrix() {
const cells = [
{ label:"E-commerce", offers:412, payout:"$28" },
{ label:"Finance", offers:186, payout:"$140", hot:true },
{ label:"Gaming", offers:298, payout:"$45" },
{ label:"Health & Wellness", offers:204, payout:"$62" },
{ label:"Technology", offers:172, payout:"$95" },
{ label:"Travel", offers:118, payout:"$78" },
{ label:"Insurance", offers:96, payout:"$220", hot:true },
{ label:"Education", offers:144, payout:"$88" },
{ label:"Subscriptions", offers:268, payout:"$48" },
{ label:"Lifestyle", offers:156, payout:"$36" },
];
return (
);
}
/* HowItWorksHero — replacement for FlowSix on platform-how-it-works hero */
function HowItWorksHero() {
return (
ROLLOUT TIMELINE
30 DAYS · END-TO-END
{[
["DAY 1","Connect tracking","DONE"],
["DAY 3","Configure goals","DONE"],
["DAY 5","Audience built","DONE"],
["DAY 7","Campaigns live","ACTIVE"],
["DAY 14","AI optimizing","ACTIVE"],
["DAY 30","Full attribution","→"],
].map(([d,t,s],i)=>{
const isActive = s === "ACTIVE";
const isDone = s === "DONE";
return (
);
})}
);
}
/* ============================================================
NEW HERO ILLUSTRATIONS — added April 2026
- PlatformProductMosaic — replaces SixProductsConstellation as
platform-overview hero. Larger, mosaic of six product tiles
wired to a shared data spine.
- AcquisitionEngine — replaces DataLeakDiagram as solutions-
advertisers hero. A unified acquisition engine with three
channel feeds and a conversion meter.
- PremiumReachLift — replaces BrandRipple as solutions-brand-
awareness hero. Premium reach panels + brand-lift index curve.
============================================================ */
function PlatformProductMosaic() {
const products = [
{ code:"01", name:"DSP", sub:"Programmatic media" },
{ code:"02", name:"Affiliate", sub:"Performance partners" },
{ code:"03", name:"Retarget", sub:"Cross-device cloud" },
{ code:"04", name:"Measure", sub:"Multi-touch attribution" },
{ code:"05", name:"Reporting", sub:"Real-time dashboards" },
{ code:"06", name:"Fraud", sub:"Pre-bid IVT shield" },
];
const cols = 3;
const tileW = 196, tileH = 130, gap = 16;
const startX = 30, startY = 86;
return (
);
}
function AcquisitionEngine() {
const channels = [
{ code:"01", name:"DSP", label:"Programmatic prospecting" },
{ code:"02", name:"Affiliate", label:"Performance partners" },
{ code:"03", name:"Retarget", label:"Cross-device return" },
];
const cx = 470, cy = 270; // engine center
return (
);
}
function PremiumReachLift() {
// brand-lift curve points (pre → post)
const curve = [
{x:50, y:230, label:"PRE"},
{x:130, y:222},
{x:210, y:206},
{x:300, y:178},
{x:390, y:140},
{x:470, y:104},
{x:540, y:80, label:"POST"},
];
const path = curve.reduce((acc, p, i) => acc + (i===0?`M${p.x} ${p.y}`:` L${p.x} ${p.y}`), "");
return (
);
}
Object.assign(window, {
AudiencePrecision, FraudShield, CreativeGrid, ConversionFunnel,
BrandSafetyStack, AttributionFlow, MarketplaceMesh, RetentionLoop,
AnswerEngine, OfferLadder, RoiSlope, AgencyAccounts, BrandRipple,
PublisherYield, TeamConstellation,
DataLeakDiagram, SixProductsConstellation, TruthLedger,
StackBlocks, StackPlugin, ChannelOrbit, AffiliateNetworkPanel,
VerticalsMatrix, HowItWorksHero,
PlatformProductMosaic, AcquisitionEngine, PremiumReachLift
});
Object.assign(window, {
HeroArchitecture, FragmentedVsUnified, LatencyViz, LiquidityGlobe,
FlowSix, BidNodePanel, DashboardTile, RetargetRing, TwoSidedDiagram, JourneyTimeline,
RetargetGraphPanel, NetworkPanel, FlowPanel
});