Skip to content
aliasfoxkdePublic

About

An open-source, clean-room reimplementation of Adobe Fireworks in pure Rust based on work done by StoryTold.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

23 stars

Watchers

2 watching

Forks

FireCraft flame mark

FireCraft

Create. Edit. Design.

A modern, open-source graphics editor inspired by the workflows of Adobe Fireworks CS6.

Downloads · Try the web build · Documentation · Roadmap


About

FireCraft is an independent, clean-room reimplementation of the hybrid vector-and-bitmap graphics editor workflow associated with Adobe Fireworks. It is written in Rust and built around a shared document engine and command registry used by the desktop application, WebAssembly build, command-line interface, scripting host, and Model Context Protocol (MCP) server.

The goal is not to reproduce Adobe's code or redistribute its assets. The goal is to preserve the productive Fireworks-style workflow—precise vector and bitmap editing, layered documents, web-oriented export, and an integrated creative workspace—while improving portability, performance, automation, and long-term maintainability.

Trademark and independence notice: Adobe, Fireworks, Photoshop, Illustrator, and Macromedia are trademarks or registered trademarks of Adobe Inc. FireCraft is an independent open-source project and is not affiliated with, sponsored by, or endorsed by Adobe. Those names are used only to describe compatible workflows and file formats.

Project status

Latest published release: v0.2.5 · 3 November 2026

The workspace version is 0.2.5. Development continues beyond that release: the active roadmap includes editor reachability, daily-driver canvas workflows, and a dedicated CS6-inspired shell-fidelity campaign. FireCraft is functional software under active development—not yet a feature-complete replacement for every Fireworks CS6 workflow.

The current documented engine surface includes 253 registered commands and a CS6 DOM parity matrix of 268 carried, 3 partial (evidence-gated), and 0 missing. These figures describe the engine/DOM surface, not complete GUI parity: some commands are available through the command palette or automation surfaces before they have a corresponding menu or polished inspector workflow.

What is implemented

  • Native document format: Fireworks PNG (.fw.png) read/write, including preservation of unrecognized document nodes and chunks.
  • Import and export: PNG, JPEG, GIF, BMP, TIFF, WebP, WBMP, SVG, and PSD workflows, with animated GIF import/export and web-oriented export workflows.
  • Vector editing: paths, contours, Bézier handles, primitive shapes, boolean operations, gradients, fills, strokes, alignment, and arrangement.
  • Bitmap editing: paint and retouch tools, pixel-selection modes, bitmap objects, and raster composition.
  • Canvas interaction: transform handles, numeric transforms, path-node editing, gradient handles, guides, grid, snapping, zoom, and selection controls.
  • Text and symbols: text objects and rich text attributes, symbol definitions and instances, nested symbol workflows, and nine-slice guides. In-canvas text editing landed 2026-11-06.
  • Effects: live effects and a filter surface backed by the compositor.
  • Automation: a shared command registry, journal/replay, ExtendScript-compatible .jsf execution, headless CLI, browser postMessage bridge, and MCP server.
  • Web application: a WebAssembly build using the same editor shell and engine as the native application.

Current UI and parity work

The editor is being brought closer to the Fireworks CS6 workspace rather than treated as a generic graphics canvas. The active shell-fidelity work covers:

  • A CS6-style menu and panel workflow, including movable, resizable, collapsible panels and persisted layout.
  • Selection-aware canvas context menus.
  • A CS6-oriented tool strip and panel inventory.
  • A selection-aware Properties inspector with engine-backed editing.
  • Remaining panel work, including Optimize, Common Library, CSS Properties, Find and Replace, and Slices.
  • UI snapshot and interaction gates to prevent visual and behavioral regressions.

Some of these items are partially implemented or still planned. The authoritative, task-level status is maintained in docs/NEXT.md; see its Phase 22 for the shell-fidelity campaign.

Start here

Screenshots

The images below are repository screenshots of the application. They are point-in-time views; consult the roadmap for current implementation status.

FireCraft application workspace

The first capture is a 1280×800 frame of the current shell with a vector object selected, taken from the optimized web bundle built on 2026-11-04. It is evidence for that build and state, not a general parity claim — see the screenshot audit for the captures, measurements, and their limits.

The same workspace in the dark theme — Tools panel down the left edge, a vector object selected on a transparent canvas, and the Optimize panel previewing a PNG-24 export:

FireCraft in dark mode: the Tools panel down the left edge, a vector fox logo selected on a transparent 800×600 canvas, and the Optimize panel showing a PNG-24 preview at 100% quality.

Get started

Download a release

Use the latest GitHub release for published binaries and the WebAssembly bundle. The v0.2.5 release includes Linux x86_64 desktop and CLI archives, a Debian package, and a web bundle. Other platform packaging scripts are available in the repository, but a build recipe is not the same as a tested, published binary.

Build from source

Requirements: a Rust toolchain compatible with the workspace's rust-version, plus the platform dependencies described in docs/TOOLCHAINS.md.

git clone https://github.com/aliasfoxkde/FireCraft.git
cd FireCraft

# Run the repository's full CI gate
cargo run -p xtask -- ci

# Build the native editor and CLI
cargo build --release -p app
cargo build --release -p app-cli

# Build the browser distribution
cargo run -p xtask -- dist --web

Quick commands

cargo run -p xtask -- ci
cargo run -p app-cli -- info document.fw.png
cargo run -p app-cli -- convert input.fw.png output.fw.png

CLI examples

# Inspect a document
cargo run -p app-cli -- info artwork.fw.png

# Canonically re-emit a Fireworks PNG document
cargo run -p app-cli -- convert input.fw.png output.fw.png

# Export a document
cargo run -p app-cli -- export artwork.fw.png output.webp

# Import a raster image into a new Fireworks PNG document
cargo run -p app-cli -- import photograph.jpg new-document.fw.png

# Start the MCP server for an existing document
cargo run -p app-cli -- mcp artwork.fw.png

See docs/USAGE.md for the complete CLI, GUI shortcut, browser-embedding, and MCP reference.

Architecture

FireCraft is organized around one document model and one command authority:

  • Engine and document model: document state, editing commands, history, and serialization.
  • Composition and rendering: deterministic CPU reference rendering and GPU-accelerated interactive canvas rendering.
  • I/O: Fireworks PNG plus raster, vector, and layered interchange formats.
  • Application shell: native and WebAssembly editor UI.
  • Automation surfaces: CLI, scripting, journal/replay, browser bridge, and MCP.

The GUI and automation interfaces are intended to drive the same engine commands; this avoids maintaining separate editing semantics for each frontend.

Documentation

Document Purpose
Features Implemented feature surface and evidence/gates
Usage Build instructions, CLI, shortcuts, browser bridge, MCP
Next / Roadmap Active phases, acceptance criteria, and open tasks
Gaps What is missing or evidence-gated, with the authority for each count
Doc index The full documentation map
Releasing Artifact build and deployment procedures
Progress Session-level status and historical progress
Planning Product plan, file-format notes, and architecture
Handoff Engineering handoff and agent runbook
Gaps Current gaps and evidence-gated items
Task board Active tasks, priority, and status
Toolchains Platform toolchains and packaging recipes
WebOS Browser embedding contract
Attribution Third-party asset and license ledger
Repository rules Clean-room policy, repository rules, and workflow

Brand and assets

The FireCraft identity is built around a clean, custom-traced flame silhouette and a vertical ember-red-to-orange gradient. The canonical logo is SVG; matching raster exports supply the Linux application icon and repository artwork. The vector-editing illustration below shows the same flame in an active design state, with Bézier anchors, tangent handles, path outlines, and the gradient control line. It is brand artwork—not an application screenshot and not an Adobe or Fireworks asset.

FireCraft flame mark in a vector editor, with Bézier nodes, curve handles, and gradient direction controls visible

Third-party assets must retain their license notices and be recorded in docs/ATTRIBUTION.md. FireCraft's source is licensed under Apache-2.0.

License

Licensed under the Apache License 2.0.

About

An open-source, clean-room reimplementation of Adobe Fireworks in pure Rust based on work done by StoryTold.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

23 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages