Commit Graph
5 Commits
Author SHA1 Message Date
Brandon ThomasandClaude Opus 5.5 12083230a8 Fonts: use craft-fonts as an optional build input
With CRAFT_FONTS_DIR=<craft-fonts checkout>, crates/text/build.rs embeds the
fonts in its manifest as effectcraft_text::fonts::CRAFT_FONTS (wasm32: only
BIZ UDPGothic Regular). Unset, CRAFT_FONTS is empty and nothing changes.

- Text engine: the Jpan faces are registered after the bundled ones and are
  the Japanese fallback before any system font (Mincho for serif text, BIZ
  UDPGothic otherwise; Han only when the locale puts Japanese first).
- UI: the Jpan faces are appended to every egui family, BIZ UDPGothic first.
- Tests: Japanese renders with real glyphs (text layout and every UI family)
  when built with craft-fonts, skipped otherwise; the app works without it.
- CI (FreeBSD) and release.yml check out craft-fonts at a pinned commit;
  releases set CRAFT_FONTS_REQUIRED=1 and packages carry the OFL licences.
- AGENTS.md, CLAUDE.md, CONTRIBUTING.md, README, docs, ATTRIBUTION.md and
  NOTICE: fonts live in craft-fonts; how to build with it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 14:23:06 -04:00
Brandon ThomasandClaude Opus 5.5 370a7a5131 Windows on ARM64: release builds, PE header check, install test on ARM64 hardware
Release builds add an arm64 MSI and portable zip, cross-compiled on the x64
runner (signing and WiX as for x64). package.ps1 checks each binary's PE
header before packaging: Machine must match -Arch, the app must be a GUI
program and the CLI a console program. It skips the CLI smoke run when an
ARM64 build can't run on the host. A new Windows ARM64 workflow packages the
ARM64 MSI, installs it on a Windows 11 ARM64 runner, checks both installed
exes are ARM64, runs the CLI, and uninstalls. Ported from printcraft#66.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:38:55 -04:00
bflatasticandClaude Opus 5.5 a48de85015 CI: packaging lint passes again (wasm-bindgen install step as an if, not A && B || C)
actionlint's shellcheck flagged SC2015 on release.yml's Install wasm-bindgen CLI step, failing
the Packaging lint workflow on main and release since 2 October.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 13:50:37 +07:00
Brandon ThomasandClaude Opus 5.5 935cf691d1 Release fixes: CLI --version, ALSA on Linux, web build via xtask, xtask version
- effectcraft-cli: support --version/-V/version (the packaging smoke tests call it).
- Linux release job installs libasound2-dev for alsa-sys; deb/rpm depend on
  libasound2/alsa-lib; Flatpak gets --socket=pulseaudio.
- packaging/web/package.sh builds with `cargo xtask web` (wasm-bindgen) and zips
  <target>/web/dist; the release job installs wasm-bindgen-cli 0.2.129.
- xtask: version.rs (ported from PhotoCraft) called helpers that don't exist here,
  so xtask didn't compile; use the local run() and wire up `cargo xtask version`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:19:03 -04:00
Brandon ThomasandClaude Opus 4.8 5af4196090 Signed release pipeline (macOS/Windows/Linux/Web); README community note
Ports photocraft's release workflow + packaging (signing, notarization,
MSI/DMG/deb/rpm/AppImage/web), adds `cargo xtask version`. File-type
associations omitted (route B); app keeps its own .desktop. Fresh WiX
UpgradeCode. README 'about' note updated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-02 12:06:24 -04:00