.nornir/assets/collector-fleet.svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 470" font-family="sans-serif" font-size="13">
<defs>
<style>
.box{fill:#12232e;stroke:#6fd3f5;stroke-width:1.5}
.t{fill:#dCEAF2}.dim{fill:#7fb0cc;font-size:11px}
.new{fill:#12281e;stroke:#5fd39a;stroke-width:1.5}
.hd{fill:#6fd3f5;font-size:12px;font-weight:bold}
.tag{fill:#5fd39a;font-size:10px}
</style>
</defs>
<rect width="900" height="470" fill="#0b1620"/>
<text x="20" y="28" class="t" font-size="15">korp-collectors — the collector fleet (green = added this pass)</text>
<text x="20" y="46" class="dim">every collector declares source_target() → one nornir-testmatrix descriptor cell</text>
<!-- moving-map / osm3d-flight -->
<rect class="box" x="20" y="66" width="420" height="150" rx="8"/>
<text x="34" y="88" class="hd">osm3d-flight — animated position overlays</text>
<text x="34" y="110" class="dim">ais-positions (boats)</text>
<text x="34" y="128" class="dim">opensky-flights (planes)</text>
<text x="34" y="146" class="dim">trafikverket-trainpos (trains)</text>
<rect class="new" x="230" y="98" width="200" height="108" rx="6"/>
<text x="244" y="116" class="tag">+ opensky-europe-bbox</text>
<text x="244" y="134" class="tag">+ marinetraffic-ais (AISStream)</text>
<text x="244" y="152" class="tag">+ gbfs-citybikes</text>
<text x="244" y="170" class="tag">+ trafikverket_trains</text>
<!-- static map / osm3d, osm3d-poi -->
<rect class="box" x="460" y="66" width="420" height="150" rx="8"/>
<text x="474" y="88" class="hd">osm3d / osm3d-poi — static map layers</text>
<text x="474" y="110" class="dim">osm (ways basemap, feature=osm)</text>
<text x="474" y="128" class="dim">osm_admin (admin borders)</text>
<rect class="new" x="640" y="98" width="228" height="90" rx="6"/>
<text x="654" y="116" class="tag">+ trafikverket-roads (NVDB WKT)</text>
<text x="654" y="134" class="tag">+ osm-overpass (POI nodes)</text>
<text x="654" y="152" class="tag">+ smhi-weather (stations)</text>
<!-- warehouse -->
<rect class="box" x="20" y="236" width="420" height="130" rx="8"/>
<text x="34" y="258" class="hd">warehouse tables — energy / stats / catalog</text>
<text x="34" y="280" class="dim">entsoe (price/load) · pxweb · kolada</text>
<text x="34" y="298" class="dim">smhi-metobs · polisen · dcat-ap-se</text>
<rect class="new" x="230" y="308" width="200" height="46" rx="6"/>
<text x="244" y="332" class="tag">+ entsoe_generation (A75 psrType)</text>
<!-- files -->
<rect class="box" x="460" y="236" width="420" height="130" rx="8"/>
<text x="474" y="258" class="hd">flat files — feature-gated</text>
<text x="474" y="280" class="dim">csv (RFC-4180 + dialects)</text>
<text x="474" y="298" class="dim">mainframe (EBCDIC/COBOL/COMP-3)</text>
<text x="474" y="316" class="dim">fixedwidth (ASCII fixed-width)</text>
<!-- pipeline footer -->
<rect class="new" x="20" y="392" width="860" height="56" rx="8"/>
<text x="34" y="416" class="t">pure-Rust parse → Arrow RecordBatch → BatchSink (skade Iceberg) · geo targets also feed a facett map scene</text>
<text x="34" y="436" class="dim">RAGNARÖK: 0 rows is RED unless CollectStats.reason says why · real-or-fake offline samples · leaf: no korp/facett dep</text>
</svg>