Repository navigation
FireCraft v0.1.0
FireCraft v0.1.0 — first tagged release (M0–M12 complete)
A clean-room reimplementation of Adobe Fireworks CS6 in pure Rust:
the Fireworks PNG (.fw.png) format read/write with full node-tree
fidelity, a deterministic CPU compositor, vector editing with boolean
ops and Auto Shapes, bitmap layers with live filters, text (including
text-on-path), symbols and nine-slice, .jsf scripting with a History
panel, and import/export across PSD, SVG, PNG, JPEG, BMP, TIFF, WBMP
and animated GIF. Every milestone gate is green and the
performance/memory ceilings are enforced on CI
(docs/planning/generated/parity.md).
License: dual-licensed MIT OR Apache-2.0 (LICENSE-MIT /
LICENSE-APACHE). Clean-room method: built from public specs and
observed behavior; no Adobe code or assets.
== Web bundle (WASM — the primary target) ==
firecraft-web-0.1.0.zip — static bundle for any static host:
index.html + one .js + one .wasm (~10.9 MB) + MANIFEST.sha256.
Cloudflare Pages quick start:
- Download and unzip (files sit at the zip root).
- Cloudflare dashboard -> Workers & Pages -> Create -> Pages ->
"Upload assets", and drop the unzipped folder. Or:
npx wrangler pages deploy - Done — Pages serves over HTTPS with the right application/wasm
MIME type, which the bundle's streaming instantiation requires.
file:// will not work.
For WebOS embedding (iframe + postMessage bridge: openDocument /
apply / exportPng / exportDocument), see docs/WEBOS.md in the repo —
its worked host page is executed verbatim by the release gate's
bridge smoke.
== Linux x86_64 ==
firecraft-0.1.0-linux-x86_64.tar.gz desktop shell + CLI
(firecraft-0.1.0/{bin,share/licenses})
firecraft-cli-0.1.0-linux-x86_64.tar.gz headless CLI alone
firecraft_0.1.0_amd64.deb pinned-control deb;
apt install ./firecraft_0.1.0_amd64.deb
MANIFEST.sha256 over the three above;
sha256sum -c verifies
Requires glibc >= 2.31. GPU not required — the compositor is
deterministic CPU.
== Other platforms ==
This release was built and verified on Linux x86_64. Recipes for
AppImage (packaging/build-appimage.sh), macOS universal dmg
(packaging/build-macos-dmg.sh) and Windows portable zip + installer
(packaging/build-windows.ps1) ship in the repo — the repo carries no
artifact it did not build and verify (docs/TOOLCHAINS.md).
== SHA-256 ==
340ec09dfda307eaa51627e60b8fff1fdbaf3a200f174ac56fb615afdecd6ca1 firecraft-web-0.1.0.zip
Native archives are hashed inside the release's MANIFEST.sha256.
== What shipped (M0–M12) ==
- Format: Fireworks PNG read/write, byte-identical round-trips,
unknown-node preservation, 16-file corpus pinned by digest - Engine: journaled command registry, undo/redo, replay-exact,
fuzz-armed (10 targets, 60s+ campaigns, 0 crashes) - Vector: booleans, simplify/expandStroke/inset, 11 Auto Shapes,
align/distribute, point editing - Bitmap + filters: selections, retouch brushes, live filter stacks
(brightness/contrast, levels, HSL, blur, unsharp, find-edges...) - Text: shaping via cosmic-text, bundled Liberation Sans (OFL),
text-on-path - Symbols: definitions/instances, rich symbols, nine-slice, Common
Library import/export - Import/export: PSD (layered, RLE) both ways, SVG both ways, raster
codecs, animated GIF states, web export (HTML+Images shim tables,
CSS layers, sprites, pages-to-files) - Automation: .jsf scripting host (ES3 semantics), CLI with stdin
control channel, MCP server — all through the same registry ids - Web: egui shell compiled to wasm32, postMessage bridge, ~10.9 MB
bundle, bridge smoke-tested on the release bytes