Skip to content

Ecosystem asset provenance

The machine-readable asset manifest records every visual asset found in the four ecosystem repositories at the audited commits, including dimensions, true format, byte size, transparency, usage, duplicate/obsolete status, text concerns, and SHA-256.

Canonical selection

Identity Canonical source Site-local copy Decision
Pharos Project (parent) kegouro.github.io/assets/pharos.svg ../brand/pharos.svg Owns the portal shell, global logo and favicon. The monochrome companion is retained as pharos-mono.svg.
SPM-Kit Core spmkit/docs/images/brand/spmkit_banner_final.png core/banner.png Latest explicit Core banner in history; used only with scoped validation text.
Fathom spmkit/docs/images/brand/fathom_banner_new.jpeg fathom/banner.jpeg Current README and component hero. Its SVG mark and lockup remain component-only assets, never the portal-global logo or favicon.
Data Hunter spmkit-data-hunter/branding/banner.png data-hunter/banner.png Named canonical in branding/ASSETS.md and used by both READMEs.
Phantoms spmkit-phantoms/branding/main-banner.png phantoms/banner.png Sole banner and current bilingual README identity.
Validation spmkit-validation/docs/images/brand/spmkit-validation-banner.png validation/banner.png Sole banner and current README identity.

The approved copies are local so a companion-repository change cannot silently alter a deployed documentation build. They are not hotlinked. Page markup sets intrinsic dimensions and loads below-fold images lazily. Original canonical files remain in their source repositories; the portal copies are deployment artifacts under the same MIT project license.

The manifest separates the Pharos parent identity from the five canonical component banners. This preserves Fathom as SPM-Kit's interactive workspace without letting the component own the ecosystem shell.

Responsive WebP derivatives are generated by scripts/gen_ecosystem_derivatives.py. Each banner has a 640-pixel candidate and a large candidate of at most 1280 pixels; <picture> keeps the canonical original as a fallback. Derivative dimensions, sizes, inputs, and SHA-256 values are retained in the manifest.

Duplicate policy

Legacy square Core artwork and retired Fathom banner candidates remain in the source tree for history but are not rendered. The former flat ecosystem banner copies are retired in favor of the structured component directories. Data Hunter's PNG screenshots remain archival sources; the smaller semantic SVG variants are used on the portal.

Page-weight budget

The portal-specific budget is: no HTML document above 250 KiB, no eagerly loaded portal raster above 80 KiB, and no responsive banner candidate above 80 KiB. Theme/search bundles, the downloadable PDF, and the PDF.js reader bundle are tracked separately because they are product dependencies rather than page imagery.

The 2026-07-29 strict build meets the budget: the largest HTML page is the full manual at about 226 KiB; the largest banner candidate is 64,736 bytes; and all component heroes select a 35–65 KiB large WebP at desktop widths. Below-fold banners and screenshots are lazy. The 1.17 MB local MathJax engine is fetched only when a rendered page contains mathematics; other pages load only its small detector/config.