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.