# Identity system v0.5

Logo geometry is preserved byte-for-byte from identity-v0.2. This release updates visual rules, localized guidelines and derived assets; it is not final artwork or trademark approval.

Build-time tools: Python with Pillow; Node with sharp and Playwright, plus a locally installed Chromium. Use the configured dependency runtime. Set NIKUNIKU_NODE_MODULES to its Node modules directory, NIKUNIKU_NODE_BIN to its Node executable, and optionally NIKUNIKU_CHROME_BIN to an existing Chromium executable. No dependency installation, font download, account or paid API is required.

1. Run the dependency-equipped Python on design/identity-v0.5/build-assets.py.
2. Run python3 apps/site/build.py, verify.py, test_locale_contract.py and scripts/validate-planning.py.
3. Serve with python3 apps/site/serve.py, then run all three site browser acceptance functions through the browser tool.

Geometry is in geometry.py. Locally vendored Lucide sources, immutable upstream revision and licenses are in ui/SOURCES.json and ui/LICENSE.txt. PNGs use sharp. Platform derivatives preserve safe padding; optical favicon is separate from the master logo.

PDFs use Chromium shaping and device fonts, embedding only print glyph subsets; raw font files are not redistributed. This replaces v0.4 CID font references and supports Arabic/Devanagari. The same locale copy drives site, Markdown and PDF. Fourteen PDFs have four pages each; inspect text extraction and rendered pages. System-font appearance and pagination can differ by OS, so a rebuild needs visual acceptance.

If shell browser launch is restricted, prepare the exact HTML inputs with Node build-pdfs.mjs <asset-dir> --prepare --html-output=<temporary-json-path>, then use the configured browser tool to print each input with A4, printBackground, preferCSSPageSize and tagged enabled. Record PDF/source SHA256 and layout observations in guidelines/pdf-layout-report.json. NIKUNIKU_PREBUILT_PDF=1 reuses those PDFs only if every source and PDF hash matches; it does not skip document acceptance. No browser login state is required.

The registry apps/site/locale-registry.json owns labels, direction, fonts, glyph/format examples and working terminology; localization-profiles.json is its distributable copy. Technical acceptance is separate from AI editorial review. Native-speaker and legal approval are not claimed.

Full-kit archives include localized guides, PNG/SVG/platform files, licenses, usage rules, JSON schema, manifest and SHA256SUMS. The manifest indexes deliverables, not build scripts; the ZIP itself is hashed by the website build manifest to avoid recursive checksums.
