catalog
Diese Seite richtet sich an Entwicklerinnen und Entwickler. Wer ein Zeichen nur finden, herunterladen, drucken oder auf eine Karte legen möchte, braucht sie nicht — dafür gibt es die Anleitungen.
@einsatzzeichen/catalog ist das Wissen: welche Grundzeichen es gibt, welche Farbe eine
Organisation hat, wie ein Zeichen aus Elementen zusammengesetzt wird, aus welcher Quelle es stammt
und was daran geprüft ist. core weiß davon nichts — es rendert nur, was der Katalog ihm gibt.
Hier liegt auch das Coverage-Manifest: eine Zeile je Abschnitt der Baseline, mit Titel,
Implementierung, Art, Profil, Testnachweis und beiden Reviews. Die Zahlen dieser Website kommen
aus denselben Funktionen, die pnpm cli coverage aufruft — es gibt keinen zweiten Rechenweg.
Eine Einschränkung für den Browser: fonts.ts importiert node:url, und der Index re-exportiert
es. Ein Katalog-Import über den Index scheitert deshalb in einem Browser-Bundle. Diese Website
umgeht das mit einem Snapshot, der zur Buildzeit in Node entsteht.
Installation
Abschnitt betitelt „Installation“private: true, main zeigt auf ./src/index.ts, kein Build-Schritt. Im Workspace:
{ "dependencies": { "@einsatzzeichen/catalog": "workspace:*" } }Im Browser nur über einen Subpfad-Import oder über vorher erzeugte Daten — nicht über den Index.
Hauptexporte
Abschnitt betitelt „Hauptexporte“| Export | Was es ist |
|---|---|
BASE_SYMBOLS, baseDrawing(kind) |
die Grundzeichen und ihre Zeichnung |
RECIPES, composeFromCatalog(spec, title?) |
die Rezepte je Abschnitt und der Weg von der Spec zur Drawing |
ELEMENTS, resolveElement(...), PICTOGRAM_ELEMENT_KINDS |
das Elementregister |
ORGANIZATION_COLORS, organizationColor(id) |
Organisationsfarben |
strengthHead, technicalHeadMark, administrativeHead, functionRole |
die Kopfzonen |
ALL_PICTOGRAMS, pictogram(...), buildPictogramRegistry() |
die Piktogramme |
SOURCE_REGISTRY, isRegisteredSource(id) |
das Quellenregister |
PROFILES, profileFor(id) |
das Profilregister |
COVERAGE_MANIFEST, checkCoverage(), releaseBlockers(), sortedDomainReviewOpenByArea() |
Manifest und Coverage-Gate |
MANIFEST_DOMAIN_REVIEWS, SOURCE_DOMAIN_REVIEWS, PROFILE_DOMAIN_REVIEWS |
die fachlichen Reviews |
RENDER_THEMES, renderTheme(id), isRenderThemeId(value), ACCESSIBLE_LIGHT_THEME, PRINT_MONOCHROME_THEME |
die drei konkreten Themes |
CONTRAST_EXCEPTIONS, contrastExceptionFor(...) |
dokumentierte Kontrastausnahmen |
describeSymbolSpec(spec), ORGANIZATION_LABELS, STRENGTH_LABELS, … |
deutsche Bezeichnungen |
Beispiel
Abschnitt betitelt „Beispiel“import { RECIPES, composeFromCatalog, renderTheme } from '@einsatzzeichen/catalog';import { renderSvg } from '@einsatzzeichen/core';
const recipe = RECIPES['E.1.1'];const drawing = composeFromCatalog(recipe.spec, recipe.title);
const svg = renderSvg(drawing, { size: 128, theme: renderTheme('print-monochrome') });Texte und Code dieser Website sind mit KI-Unterstützung entstanden und werden von Menschen geprüft; der fachliche Reviewstatus steht an jedem Zeichen.