Skip to content
FORGE CREATIVE, home
EngineeringPhoto Forge

Forge Engine: a native Rust core under Photo Forge

Photo Forge now has a native engine written in Rust for mask and raster operations, connected to Python through PyO3 and backed by a reference fallback.

Illustrative photograph. It does not show Forge software.

Photo Forge's architecture splits responsibilities on purpose. Python with Qt (PySide6) owns the interface, decisions, and the document. A native Forge Engine, written in Rust, does the heavy computation.

What landed

  • October 1, 2026: the engine foundation. A Rust crate built with PyO3 and maturin, with a typed bridge into the application.
  • October 3, 2026: native mask and raster operations. Mask fill, mask writes, crop, alpha bounds, and applying a mask.

The reference fallback

Every native operation has a Python reference implementation. Tests check that the two agree, and Photo Forge keeps working if the native module is unavailable. That makes the engine safe to grow one operation at a time.

Measured, not assumed

At the time of the October audit the engine had 27 Rust tests and 56 Python tests. The same audit also found two full-canvas operations where the native path was not yet faster than the reference path. That is exactly why a benchmark harness is being built before more optimization work: performance claims should come from measurements.

Next

A native separable blur kernel is in progress. It will speed up Drop Shadow and local filters once it is integrated and measured.

All development updates

Photo ForgeMilestone

EFFECTS1: Drop Shadow becomes a saved layer effect

Layer effects are now part of the document. Drop Shadow settings survive save and reopen, and shadows are built once per repaint instead of once per tile.

Be among the first to see what we're building.

Join the early-access list for occasional development updates. No payment, no account.