Live Agent working · engine-01 Placer/router engine positioning
Roadmap

Blueprint Companion

A working list of every feature we want to port from blueprint.am, grouped by their tab structure (INFO / BOM / WIRING / MECH / INSTRUCTIONS / PART) plus the cross-cutting infrastructure to make this site multi-project.

Where Blueprint stops at "rapid design draft" (no real PCB, no DRC, wireframe mech), we want to go all the way through to manufacturable boards via the existing designgraph + router pipeline.

Pipeline proven across 6 boards
Same Rust pipeline (place → legalize → route → DRC) drives every project below. Each was authored as a designgraph TOML and built end-to-end by target/release/pipeline <design.toml>. Schematics now auto-generated too via scripts/kicad/gen_kicad_schematic.py.
KV-00 kvm-board
78 cmp · 6L · 0S/0U
DS-01 door-sec
13 cmp · 2L · 3S/0U
GH-01 greenhouse
24 cmp · 2L · 3S/1U
RC-01 robocar
15 cmp · 2L · 1S/2U
PD-01 pd-trigger
10 cmp · 2L · 4S/6U
RL-01 relay4
17 cmp · 2L · 0S/0U
48
Done
3
Partial
4
Todo
3
Deferred
51 of 58 items have at least partial coverage.
Info
↘ Blueprint.am: INFO

Project overview, story, key specs.

Done INFO-01
Project hero / one-line pitch → live
Code, name, tagline, status pill.
Done INFO-02
Long-form description → live
MDX prose alongside the TOML data file.
Done INFO-03
Key specs table → live
Structured spec rows from project TOML.
Done INFO-04
Architecture diagram → live
Mermaid flowchart with ASCII fallback under <details>.
Done INFO-05
Project status checklist → live
Done / todo with bullets.
Bill of Materials
↘ Blueprint.am: BOM

The single biggest gap vs Blueprint.am — they have live distributor data.

Done BOM-01
Structured BOM extraction from designgraph → live
CSV-fallback loader: drop <slug>-bom.csv, BOM appears.
Done BOM-02
BOM table render → live
Refs, MPN, qty, category, links, prices, totals.
Todo BOM-03
Live Mouser pricing & stock
Build-time fetch via Mouser API, cache to TOML.
Todo BOM-04
Live Digikey pricing & stock
Same pattern, Digikey API.
Done BOM-05
Live LCSC pricing & stock → live
fetch_lcsc_pricing.py polls jlcsearch.tscircuit.com → site/src/data/lcsc-cache.json. BOM loader merges live price + stock + JLC Basic/Preferred badges.
Done BOM-06
Per-line + total cost rollup → live
Total + extended price columns when prices present.
Done BOM-07
Datasheet links → live
CSV Datasheet column rendered as DS link; door-sec BOM populated.
Done BOM-08
CSV export button → live
Client-side download of BOM rows as CSV.
Done BOM-09
Category badges + filtering → live
Click chip to filter; counts and total update live.
Done BOM-10
Stock availability badges → live
CSV stock/stock_qty columns → in/low/oos pill in BOM table.
Wiring
↘ Blueprint.am: WIRING

Schematic viewing. Blueprint shows draggable component cards.

Done WIRE-01
Static schematic SVGs per sheet → live
Generated from KiCad CLI export. All 6 boards have schematics now.
Done WIRE-02
Lightbox sheet viewer → live
Click thumbnail → fullscreen + arrow nav.
Done WIRE-03
Pannable / zoomable schematic → live
Mouse drag, wheel zoom, pinch zoom, fit/100% buttons.
Done WIRE-07
Auto-generate .kicad_sch from designgraph TOML → live
gen_kicad_schematic.py emits real .kicad_sch with generic block symbols + label-based connectivity → kicad-cli sch export svg.
Done WIRE-04
Interactive component cards → live
Schematic SVGs post-processed to add data-ref click targets; lightbox loads inline + dispatches schematic-ref-click → BomSection scroll-flashes the matching row.
Done WIRE-05
Net highlighting on hover → live
Hover a refdes → tooltip shows its nets, all peers sharing a net light up cyan, hovered ref lights yellow. Net membership extracted from designgraph TOMLs at build time.
Done WIRE-06
Schematic ↔ PCB cross-probe → live
MechSection listens to schematic-ref-click and pulse-highlights the matching component on the Component Map.
Mech
↘ Blueprint.am: MECH

Blueprint's weakest area is your strongest — real PCBs and 3D models.

Done MECH-01
PCB top + bottom renders → live
PNG renders from kicad-cli.
Done MECH-02
Interactive 3D viewer → live
Three.js OrbitControls, GLB load.
Done MECH-03
X-ray layer toggles → live
Composited per-layer SVGs with opacity slider, mirror toggle, presets.
Done MECH-04
BOM ↔ board placement overlay → live
Component Map panel; hover BOM row → highlight refdes bbox. Powered by extract_placement.py → placement.json.
Done MECH-05
Dimensional drawings → live
Toggleable W × H leader lines on the Component Map.
Done MECH-06
Enclosure / mechanical drawings → live
Top-down + side-profile views. Connector cutouts derived from edge constraints; standoff pillars and PCB cross-section in side view.
Done MECH-07
Copper layer SVGs → live
All-layer SVG, scrollable.
Instructions
↘ Blueprint.am: INSTRUCTIONS

Step-by-step assembly guide. Phase-grouped.

Done INST-01
Phase-grouped assembly guide → live
kvm-board has 5 phases authored: order, assemble, smoke test, flash, first connection.
Done INST-02
Tools required per phase → live
Rendered inline in phase header.
Done INST-03
Per-step photos → live
Step `image` + `caption`, plus per-phase `photos` strip.
Done INST-04
Build-time prerequisites → live
Optional `prereqs` string array per phase.
Done INST-05
Embedded video walkthroughs → live
Optional `video` URL per phase — auto-detects YouTube vs MP4.
Done INST-06
Print-friendly PDF export → live
"Print / PDF" button + @media print stylesheet.
Part Browser
↘ Blueprint.am: PART

Cross-project component catalog — search and reuse.

Done PART-01
Cross-project component index → live
/parts page aggregates every BOM with backrefs.
Done PART-02
Search + filter by category → live
Live text search + category dropdown.
Done PART-03
"Used in N projects" backref → live
Used-in column links to each project that uses the part.
Done PART-04
Inline datasheet preview → live
Click DS → modal embeds the PDF (browser-native viewer with fallback).
Done PART-05
Pin-out diagrams → live
site/src/pinouts/<MPN>.json + /parts/[mpn] page (CH224K, ESP32-S3 authored).
Cross-cutting

Site-wide infrastructure — the parts that make the clone real.

Done CORE-01
Multi-project IA → live
Project list + per-project template.
Done CORE-02
Project data file format (TOML)
site/src/projects/<slug>.toml schema.
Done CORE-03
TOML loader + types
lib/projects.ts.
Done CORE-04
Status badges (concept/designed/fab/built)
Color-coded pills on project cards + hero.
Done CORE-05
Section nav (sticky, in-page) → live
INFO / BOM / WIRING / MECH / INSTRUCTIONS scroll links.
Done CORE-06
Empty-state messaging
Sections without data show "Not yet populated".
Done CORE-07
Migrate / replace existing index → live
Home rewritten as project catalog (PCBs-as-code hero + featured + grid); kvm-specific software/themes content moved to /projects/kvm-board via extras.
Done CORE-08
Add Projects + Roadmap to top nav
Layout.astro nav links.
Done CORE-09
OG / social card per project → live
Layout takes title/description/ogImage; project page sets them.
Done CORE-10
JSON-LD structured data → live
TechArticle schema with spec rows as about[].
Prompt-to-Design

The local build-your-own-board loop: Codex app-server, KiCad resolver, structured intent, then DesignGraph generation.

Partial AI-01
Prompt input UI → live
/builder page posts board prompts to the local daemon.
Todo AI-02
Clarifying-question dialog
AI asks: power source, control method, form factor.
Partial AI-03
Codex app-server integration → live
Local daemon supervises codex app-server and requests structured board intent JSON.
Deferred AI-04
Iteration / refinement UI
Edit a section, regenerate downstream.
Todo AI-05
Designgraph integration
Generated TOML flows into KiCad pipeline → real PCB.
Deferred AI-06
Public project submission
Open it up: anyone can publish a board.
Deferred AI-07
Multi-LLM backend
Claude / GPT / Gemini selectable, like Blueprint.
Partial AI-08
KiCad component resolver → live
Daemon indexes installed/project KiCad symbols and footprints, with dimensions and search.
* * *

This page is the source of truth for companion-site work. Update site/src/pages/blueprint-roadmap.astro when items move.