Community links: Discord button in the title bar, ArtCraft community card on Home, About dialog with ArtCraft mark/wordmark and links, Help menu commands (help.discord/app_page/github/website), CLI --version and MCP websiteUrl, README Community section; 4 Lucide icons (attributed); regenerated screenshots with honest brand attribution

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Brandon ThomasandClaude Opus 5.5 committed 2026-10-01 14:15:05 -04:00
1 parent bb31b5a1b5
commit 2fc7cb4e64
37 files changed
+752 -161

No files matched your search

+11 -2
View File
@@ -107,10 +107,19 @@ fn update_attribution(root: &Path) -> Result<()> {
images.sort();
for file in images.iter().filter(|f| f.ends_with(".png")) {
let stem = file.trim_end_matches(".png");
let (title, usage) = SCENES.iter().find(|(n, ..)| *n == stem).map(|(_, t, u, _)| (*t, *u)).unwrap_or(("PrintCraft screenshot", "README"));
let scene = SCENES.iter().find(|(n, ..)| *n == stem);
let (title, usage) = scene.map(|(_, t, u, _)| (*t, *u)).unwrap_or(("PrintCraft screenshot", "README"));
// The home screen shows the ArtCraft mark: say so (it is a Storyteller trademark, not open
// source; AGENTS.md §1.2), so the screenshot's licence is not read as covering it.
let shows_home = scene.is_some_and(|(.., args)| args.windows(2).any(|w| w[0] == "--home" && w[1] == "on"));
let contents = if shows_home {
"Shows PrintCraft UI, Lucide icons, the showcase PDF built from the [[fetched]] OFL fonts, and the ArtCraft mark (Storyteller trademark from docs/brand/, not covered by this licence)"
} else {
"Shows only PrintCraft UI, Lucide icons and the showcase PDF built from the [[fetched]] OFL fonts"
};
let bytes = std::fs::read(root.join("docs/images").join(file))?;
out.push_str(&format!(
"\n[[asset]]\npath = \"docs/images/{file}\"\ntitle = \"PrintCraft screenshot: {title}\"\nauthor = \"PrintCraft contributors (generated by `cargo xtask screenshots`)\"\nsource = \"this repository\"\nlicence = \"MIT OR Apache-2.0\"\nlicence_file = \"LICENSE-MIT\"\nkind = \"image\"\nusage = \"{usage}. Shows only PrintCraft UI, Lucide icons and the showcase PDF built from the [[fetched]] OFL fonts\"\nsha256 = \"{}\"\n",
"\n[[asset]]\npath = \"docs/images/{file}\"\ntitle = \"PrintCraft screenshot: {title}\"\nauthor = \"PrintCraft contributors (generated by `cargo xtask screenshots`)\"\nsource = \"this repository\"\nlicence = \"MIT OR Apache-2.0\"\nlicence_file = \"LICENSE-MIT\"\nkind = \"image\"\nusage = \"{usage}. {contents}\"\nsha256 = \"{}\"\n",
crate::assets::sha256_hex(&bytes)
));
}