/** * Online-only boards — the public "shop window". * * These boards are implemented by the hosted editor (velxio.com), where they * are free to use; their emulation engines and board wiring are not part of * the OSS tree. The OSS build knows only this list — name, art, a badge — * and renders advertisement cards in the picker that link to the online * editor. * * A build where a board actually exists (the hosted build registers the real * BoardKind) must NOT show its ad. Callers filter with `id in * BOARD_KIND_LABELS`: when the real kind is registered the ad disappears * automatically, so this list needs no per-build switches. */ export interface OnlineOnlyBoardAd { /** Stable id — matches the BoardKind the hosted build registers. */ id: string; label: string; description: string; /** Inline SVG for the card thumbnail (rendered via innerHTML). */ thumbnailSvg: string; } /** Where the ad cards send the user. */ export const ONLINE_EDITOR_URL = 'https://velxio.com'; export const ONLINE_ONLY_BOARD_ADS: OnlineOnlyBoardAd[] = [ { id: 'esp32-c6', label: 'ESP32-C6-DevKitC-1', description: 'RISC-V single-core, WiFi 6 + BLE + 802.15.4 — in-browser emulation', thumbnailSvg: '' + '' + '' + '' + 'C6' + '' + '' + '' + '' + '' + '' + '', }, { id: 'm5stack-core', label: 'M5Stack Core Basic', description: 'ESP32 all-in-one: 2" LCD, 3 buttons, speaker, microSD', thumbnailSvg: '' + '' + '' + '' + '' + '', }, { id: 'cardputer-adv', label: 'M5 Cardputer ADV', description: 'ESP32-S3 card computer: ST7789 LCD + 56-key keyboard', thumbnailSvg: '' + '' + '' + '' + '' + Array.from({ length: 3 }, (_, r) => Array.from( { length: 12 }, (_, c) => ``, ).join(''), ).join('') + '', }, { id: 'pimoroni-pico-plus-2w', label: 'Pimoroni Pico Plus 2W', description: 'RP2350B dual-core RISC-V/ARM + WiFi, 16MB flash + 8MB PSRAM', thumbnailSvg: '' + '' + '' + '' + '' + Array.from({ length: 8 }, (_, i) => ``).join('') + Array.from({ length: 8 }, (_, i) => ``).join('') + '', }, { id: 'galactic-unicorn', label: 'Pimoroni Galactic Unicorn', description: 'RP2350 53×11 RGB LED matrix panel', thumbnailSvg: '' + '' + '' + Array.from({ length: 5 }, (_, r) => Array.from( { length: 14 }, (_, c) => ``, ).join(''), ).join('') + '', }, { id: 'badger-2350', label: 'Pimoroni Badger 2350', description: 'RP2350 wearable badge with 2.7" e-ink display', thumbnailSvg: '' + '' + '' + 'BADGER' + '', }, ];