docs: correct font-embed claims in font_plugin and CLAUDE.md

font_plugin's module doc claimed a parse failure aborts the program, but
the code warns and continues with glyph-less UI; fix the doc to match.
CLAUDE.md §4.2 listed only audio and the card theme as embedded while
saying "do not embed user fonts"; document that the bundled FiraMono face
is legitimately embedded via include_bytes! as the canonical UI font.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
funman300
2026-06-22 11:04:11 -07:00
parent 8995a8ae9c
commit 6a9352cde1
2 changed files with 10 additions and 4 deletions
+7 -2
View File
@@ -208,9 +208,14 @@ Embed via `include_bytes!()` only when ALL of the following are true:
Currently embedded: Currently embedded:
* **Audio** — all `.wav` files in `audio_plugin.rs` * **Audio** — all `.wav` files in `audio_plugin.rs`
* **Default card theme** — shipped via `embedded://` scheme in `ThemePlugin` * **Default card theme** — shipped via `embedded://` scheme in `ThemePlugin`
* **Bundled UI font** — `assets/fonts/main.ttf` (FiraMono) via `include_bytes!`
in `font_plugin.rs` and `assets/svg_loader.rs`; it is the canonical UI face
and must always be present, so it is embedded rather than `AssetServer`-loaded
Do NOT embed card face PNGs, background images, or user fonts — Do NOT embed card face PNGs or background images — these are loaded via
these are loaded via `AssetServer` so art can be swapped without recompile. `AssetServer` so art can be swapped without recompile. User-supplied fonts
(if ever added) likewise go through `AssetServer`; only the bundled FiraMono
face above is embedded.
--- ---
+3 -2
View File
@@ -2,8 +2,9 @@
//! //!
//! Bundling rather than runtime-loading guarantees the canonical UI face is //! Bundling rather than runtime-loading guarantees the canonical UI face is
//! always available regardless of install or platform. The bytes are //! always available regardless of install or platform. The bytes are
//! validated at startup; a parse failure aborts the program with a clear //! validated at startup; a parse failure logs a warning and continues with
//! error because it means the binary is corrupt. //! glyph-less UI rather than aborting, since crashing on a corrupt embed is
//! worse than degraded text.
use bevy::prelude::*; use bevy::prelude::*;