diff --git a/Makefile b/Makefile index 611e57f81..52f7a8d67 100644 --- a/Makefile +++ b/Makefile @@ -73,7 +73,7 @@ brand-boundary-audit: tools/brand_boundary_audit.py tools/brand_boundary.json brand-boundary-test: tools/brand_boundary_audit.py tests/test_brand_boundary_audit.py python3 tests/test_brand_boundary_audit.py -brand-asset-test: tests/test_brand_asset.py docs/media/hebrus-logo.png README.md +brand-asset-test: tests/test_brand_asset.py docs/media/hebrus-typographic.png README.md python3 tests/test_brand_asset.py ifeq ($(UNAME_S),Darwin) diff --git a/README.md b/README.md index 8c18b87e9..55107539f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- Hebrus logo + Hebrus Studio — Metal first. SSD when memory ends.

# Hebrus @@ -17,14 +17,14 @@ the only capacity boundary. [Contributing](CONTRIBUTING.md) > [!NOTE] -> Hebrus is the working public engine name and the canonical executable -> namespace in the current bridge. The repository is still -> [`andreaborio/ds4`](https://github.com/andreaborio/ds4), and -> [ADR 0005](docs/adr/0005-hebrus-naming-and-compatibility-boundary.md) remains -> **Proposed** while namespace and legal screening remain incomplete. The -> companion application is named **Hebrus Studio** and its bridge release is -> implemented locally but not yet published. This repository has not been -> administratively renamed. +> **Hebrus** is the public engine name and canonical executable namespace. +> The engine is published at +> [`andreaborio/hebrus`](https://github.com/andreaborio/hebrus), with +> [`Hebrus Studio`](https://github.com/andreaborio/hebrus-studio) as its +> companion macOS application. Durable `ds4` and `DSBox` identifiers remain +> only where changing their bytes would break model, application, or user-data +> compatibility; see +> [ADR 0005](docs/adr/0005-hebrus-naming-and-compatibility-boundary.md). > [!IMPORTANT] > Hebrus began as a fork of @@ -104,8 +104,8 @@ Build and verify the engine without loading model weights: ```sh xcode-select --install -git clone https://github.com/andreaborio/ds4.git -cd ds4 +git clone https://github.com/andreaborio/hebrus.git +cd hebrus make -j ./hebrus --build-info diff --git a/docs/media/hebrus-typographic.png b/docs/media/hebrus-typographic.png new file mode 100644 index 000000000..37cb1854d Binary files /dev/null and b/docs/media/hebrus-typographic.png differ diff --git a/tests/test_brand_asset.py b/tests/test_brand_asset.py index 041b833fb..21312c853 100644 --- a/tests/test_brand_asset.py +++ b/tests/test_brand_asset.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""Freeze the maintainer-supplied Hebrus logo as an unmodified brand asset.""" +"""Freeze the maintainer-supplied Hebrus typographic identity as a brand asset.""" from __future__ import annotations @@ -9,10 +9,10 @@ ROOT = pathlib.Path(__file__).resolve().parents[1] -ASSET = ROOT / "docs" / "media" / "hebrus-logo.png" +ASSET = ROOT / "docs" / "media" / "hebrus-typographic.png" README = ROOT / "README.md" -EXPECTED_SHA256 = "4be8949c73bd52e7abef58396dcd57f636165a8bb6cd6d536a600bcbf880594c" -EXPECTED_SIZE = (1254, 1254) +EXPECTED_SHA256 = "e753718d3fe4942ada82a91396b6f1dfec28afbc723bbe9cc9f497abe7a3b772" +EXPECTED_SIZE = (1732, 908) def main() -> None: @@ -28,13 +28,13 @@ def main() -> None: width, height, bit_depth, color_type = struct.unpack(">IIBB", payload[16:26]) if (width, height) != EXPECTED_SIZE: raise AssertionError(f"unexpected logo dimensions: {width}x{height}") - if (bit_depth, color_type) != (8, 6): - raise AssertionError("Hebrus logo must retain its original 8-bit RGBA representation") + if (bit_depth, color_type) != (8, 2): + raise AssertionError("Hebrus identity must retain its original 8-bit RGB representation") - if "docs/media/hebrus-logo.png" not in README.read_text(encoding="utf-8"): - raise AssertionError("README does not use the canonical Hebrus logo") + if "docs/media/hebrus-typographic.png" not in README.read_text(encoding="utf-8"): + raise AssertionError("README does not use the canonical Hebrus identity") - print(f"brand-asset: PASS ({width}x{height}, RGBA, {digest})") + print(f"brand-asset: PASS ({width}x{height}, RGB, {digest})") if __name__ == "__main__":