From 9ff9227c983b4e2134c5c8109c9a3d238a55a25a Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 17 Jul 2026 17:24:05 +0000 Subject: [PATCH] docs: add srcmorph logo to README top + branding assets Copy the self-contained (base64-font-embedded) srcmorph logo SVG and PNG into docs/branding/ and embed the SVG at the very top of the README. Add LICENSES/MIT.txt and REUSE-annotate both assets as MIT OR Apache-2.0 (the dual license the author ships them under in the workspace repo; the embedded Martian Mono font remains OFL-1.1). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01EqBKwPNJSfaSnTVgw87CPT --- LICENSES/MIT.txt | 18 ++++++++++++++++++ README.md | 4 ++++ REUSE.toml | 14 ++++++++++++++ docs/branding/srcmorph.png | Bin 0 -> 35033 bytes docs/branding/srcmorph.svg | 15 +++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 LICENSES/MIT.txt create mode 100644 docs/branding/srcmorph.png create mode 100644 docs/branding/srcmorph.svg diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 0000000..d817195 --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,18 @@ +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index f76a969..0534066 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +

+ srcmorph +

+ > [!NOTE] > **No IDE or local setup required.** This repository is optimized for fully AI-assisted development using [Claude Code](https://claude.ai/code). No local toolchain, no IDE, nothing to install — everything works completely through Claude. diff --git a/REUSE.toml b/REUSE.toml index 0b3599f..117e6a1 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -38,3 +38,17 @@ path = "LICENSE" precedence = "aggregate" SPDX-FileCopyrightText = "2026 Bernard Ladenthin " SPDX-License-Identifier = "Apache-2.0" + +# Project logo / branding assets (binary PNG + generated SVG with a base64-embedded +# font, neither of which can carry an inline SPDX header without corruption). Dual +# MIT OR Apache-2.0, the same license the author ships them under in the workspace +# repo (the embedded Martian Mono font is OFL-1.1; only the standalone .ttf — not +# shipped here — carries that identifier). +[[annotations]] +path = [ + "docs/branding/srcmorph.svg", + "docs/branding/srcmorph.png", +] +precedence = "aggregate" +SPDX-FileCopyrightText = "2026 Bernard Ladenthin " +SPDX-License-Identifier = "MIT OR Apache-2.0" diff --git a/docs/branding/srcmorph.png b/docs/branding/srcmorph.png new file mode 100644 index 0000000000000000000000000000000000000000..c8637e365d3e9174885757f979c8dd621713872f GIT binary patch literal 35033 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 bw8ZZib%r3c`IWZ`x~PdE@mS803%~vc_982U literal 0 HcmV?d00001 diff --git a/docs/branding/srcmorph.svg b/docs/branding/srcmorph.svg new file mode 100644 index 0000000..dac13a5 --- /dev/null +++ b/docs/branding/srcmorph.svg @@ -0,0 +1,15 @@ + + + srcmorph cover + Wordmark with a morphing (blurred, smearing) m in "morph". + + + + + + src + mmmmmmmm + orph + +