shuff57andClaude Sonnet 5.5 7a6ef6b935 Add equaSHion: the equation editor as five crates (math, font, layout, render, egui)
Extracted from WordCraft and shared by WordCraft and DeckCraft. Keeps the equashion-* names;
assets, test corpus and goldens sit at the repo root so the crates' relative paths are unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-11 21:14:20 -07:00

Craft App Libraries

This repo contains libraries used by the various Craft Apps. It's a Rust monorepo workspace, and the libraries can be included by any Craft Apps that need them.

In the future this may grow to include non-Rust library code.

If any libraries grow beyond Craft App usage, eg. RAW format support, they may be promoted out and into their own libraries for the broader ecosystem to take advantage of.

Layout

A Cargo workspace (edition 2024, resolver 3). Each library is a crate under crates/<name>, named craft-<name> (the equaSHion crates keep their own equashion-* names), with version, edition, license and repository inherited from the workspace (license.workspace = true, and so on) and [lints] workspace = true. Register each crate in [workspace.dependencies] in the root Cargo.toml.

Apps depend on a crate by git:

craft-<name> = { git = "https://github.com/storytold/craft-libs", rev = "<commit>" }

Libraries

  • craft-print: PDF submission to CUPS and Windows, printer discovery, duplex/copies/colour and driver preferences. PDF generation stays in each app.

  • craft-ui: SVG catalogs, icon buttons, tabs, pane controls, transactional docking and theme helpers for egui frontends; assets, themes, localization and command handling stay in each app. Requires Rust 1.95 or later.

  • equashion-* (docs): equaSHion, a pure-Rust equation editor in five crates: equashion-math (math tree, OMML/MathML/LaTeX/linear formats, edit model), equashion-font, equashion-layout (TeX-style layout), equashion-render (pixels and SVG) and equashion-egui (the editor widget). Used by WordCraft and DeckCraft; assets in assets/fonts, test data in corpus/ and tests/golden/.

  • Shared UI component audit: source inventory, extraction priorities and compatibility boundaries across the Craft suite.

  • Theme infrastructure: eight-app comparison and the small shared widget-state styling boundary.

  • Panel docking: validated panel moves, floating groups, workspace adapters and an optional egui docking surface.

License and credits

craft-libs is dual-licensed under MIT or Apache-2.0, at your option. Copyright (c) 2026 ArtCraft Team and the craft-libs contributors. Required notices are in NOTICE.

Bundled fonts, icons, images and other assets keep their own open licenses; each one is listed with its author, source and license in ATTRIBUTION.md.

S
Description
Readme
124 MiB
Languages
Rust 99.3%
Max 0.3%
Python 0.2%
RenderScript 0.2%