81 lines
3.5 KiB
Markdown
81 lines
3.5 KiB
Markdown
# Data — <Project>
|
|
|
|
```
|
|
Status: Current
|
|
Owner: <who maintains this>
|
|
Last reviewed: <YYYY-MM-DD>
|
|
Governs: docs/data/** — the assets privacyllc.dev renders for this project
|
|
Review trigger: A rebrand, or any change to the icon, logo or banner
|
|
```
|
|
|
|
## What goes here
|
|
|
|
Three files, in `img/`, at exactly these names:
|
|
|
|
```text
|
|
docs/data/img/icon.webp the square mark, used wherever the project is listed
|
|
docs/data/img/logo.webp the full lockup, used on the project page
|
|
docs/data/img/banner.webp the wide image, used across the project header
|
|
```
|
|
|
|
All **webp**. All **required**. Only `img/` is checked — an asset left in
|
|
`docs/data/` instead of `docs/data/img/` is not found.
|
|
|
|
**Dimensions, weights and how to generate them are in
|
|
[`img/README.md`](img/README.md)**, beside the files they describe. This
|
|
document owns the rule; that one owns the spec. Stating both in both places is
|
|
how two copies of one convention start disagreeing.
|
|
|
|
**No placeholders ship with this template, deliberately.** It carried a 0-byte
|
|
`logo.webp` once, and an empty file is the worst of the three states: a check
|
|
that asks "does the path exist" calls it present, and anything that reads the
|
|
bytes rejects it — a consumer verifying the webp signature answers 415, which
|
|
reads as a corrupt asset rather than a missing one. Absent is honest and the
|
|
conformance check reports it as absent, which is what gets it filled in.
|
|
|
|
Extra sizes and variants are welcome beside them — `icon-512.webp`,
|
|
`logo-dark.webp` — and are not treated as clutter. Only the three exact names
|
|
are checked for.
|
|
|
|
## If an asset is missing, open an issue — do not invent one
|
|
|
|
An agent cannot draw a logo, and this is the one gap in the whole convention
|
|
that cannot be closed by writing a file.
|
|
|
|
So when an asset is absent, **file an issue** rather than producing something:
|
|
title it for the asset, label it `P2`, and end the body with its `Verify:` line
|
|
— `Verify: docs/data/img/logo.webp exists and the project card renders it.`
|
|
|
|
**Do not generate a placeholder.** A placeholder that looks deliberate outlives
|
|
the issue that would have replaced it: nobody files a ticket against an image
|
|
that appears to be finished. An obviously absent asset keeps asking.
|
|
|
|
## Why this folder is different from every other one here
|
|
|
|
The Command Center *consumes* these. Every other document in this tree is written
|
|
for a person to read; these are fetched and rendered on privacyllc.dev's project
|
|
page.
|
|
|
|
That has one consequence worth stating plainly: **this folder cannot be declared
|
|
exempt.** A repository may tell the conformance check that a required document is
|
|
deliberately absent — kept out of git on purpose, say — and the check will
|
|
believe it. It will not accept that declaration for `docs/data/`, because the
|
|
result would be a project card with nothing to show and nothing explaining why,
|
|
which is the exact failure the check exists to prevent.
|
|
|
|
## Why webp and not PNG
|
|
|
|
One format, checked by its magic bytes rather than its file extension, so the
|
|
site can serve it inline with confidence. A file whose first bytes are RIFF/WEBP
|
|
cannot be an HTML document or an SVG carrying script, which is what makes it safe
|
|
to render directly rather than forcing a download.
|
|
|
|
Renaming a PNG to `.webp` will not work, and is meant not to.
|
|
|
|
## This is not an asset library
|
|
|
|
Screenshots, mockups, reference art and exported source files do not belong here.
|
|
They belong wherever the project already keeps them. This folder holds the three
|
|
marks that identify the project elsewhere, and stays small enough that its
|
|
contents are obvious at a glance.
|