Skip to content

Repository files navigation

masstudio

Open source, cross-platform professional image editor. Layered documents, 16/32-bit colour, ICC/CMYK, PSD read and write, full RAW support, and AI tools that run entirely on your machine. Windows and macOS.

License: MIT Platform Electron Local AI

Status: 0.1.0 — usable on Windows. The core engine, file formats, tools, adjustments, filters, Develop, the AI layer, the academy, the plugin API and animation are all in place. The macOS packaging code is written but has not been verified on a real Mac.

What is in it

Area Contents
Document Tile-based sparse store, 8/16/32-bit, ICC/CMYK, 27 blend modes, layer styles, masks, smart objects
Formats .mas (native), PSD (layered read + write), PNG/JPEG/WebP/AVIF/HEIC/TIFF/GIF/BMP/ICO, SVG and PDF import, print PDF (CMYK + bleed + marks), RAW (LibRaw), GIF and APNG animation
Tools Brush engine, selection family (lasso / wand / colour range + refine), retouch and healing brushes, clone, patch, smudge, gradient, text, pen and shapes, free transform
Colour 16 adjustment layers (curves, selective colour, .cube LUTs included), 16 filters, a Develop module with 16 adjustments in one recipe
Warping Liquify, puppet warp, multi-plane perspective warp, content-aware scale, text warp
AI Background removal, portrait matting, edge refinement, ×2/×4 upscaling, object removal, denoising — all local, models bundled
Interface Simple Mode and Pro Mode, command palette, sortable and hideable panels, five workspaces, TR + EN, dark and light themes
Learning 49 interactive lessons, a first-run tour, an in-app and PDF manual
Extending Sandboxed plugin API (Worker + GLSL filters), action recorder, batch processing

Why

An editor you can install in place of Photoshop and run without paying a subscription to anybody. It has two faces: Simple Mode for someone with no experience (ten large task cards) and Pro Mode for real work (the full panel layout). Inside it there is a teaching academy that does not advance until you have actually performed the step.

The AI tools run locally. Nothing you open is uploaded anywhere, because there is nowhere for it to go.

Requirements

Windows macOS
Version Windows 10 1809+ / 11 (x64) macOS 12 Monterey+
Architecture x64 Apple Silicon (arm64) and Intel (x64)
GPU DirectX 11 capable, WebGL2 Metal capable
RAM 8 GB (16 GB recommended) 8 GB (16 GB recommended)

Development

npm install
npm run dev

npm run dev starts the Vite dev server, the watch build for the main process and Electron together. Closing Electron shuts all of them down.

The AI model weights are not in the repository — they are half a gigabyte and would not survive a clone. They are fetched on demand:

node scripts/fetch-models.mjs

Commands

Command Job
npm run dev Development session (renderer + main + Electron)
npm run typecheck TypeScript across the whole repo
npm run lint ESLint
npm test Unit tests (Vitest)
npm run test:golden Regression baselines: blend, filter and adjustment output
npm run test:e2e Electron end-to-end tests (Playwright)
npm run build Production build of main and renderer
npm run icons Generates the app icons from code (.png/.ico/.icns)
npm run dist Installer for the current platform
npm run manual Builds the manual (TR + EN, HTML + PDF)
npm run notice Regenerates the model licence notice from the registry

Architecture

packages/
  platform/   Platform abstraction: paths, shortcuts, capabilities, panel layout
  core/       Document model, command/history, tile store, filters, warps
  gpu/        WebGL2 compositor, blend and adjustment shaders
  codecs/     Format read/write (.mas, PSD, PDF, RAW)
  ai/         onnxruntime wrapper, model registry, tiled inference
  academy/    Interactive teaching engine and manual source
  plugins/    Plugin manifest, sandbox contract, GLSL wrapper
apps/
  desktop-main/       Electron main process
  desktop-renderer/   React application and the pixel surface

One rule: packages/core and packages/ui do not know which platform they are running on. Windows and macOS differences live only inside packages/platform, explicitly listed. Shortcuts are written canonically as Mod+Z, where Mod resolves to Ctrl on Windows and Cmd on macOS.

Install warnings (unsigned build)

The project is open source and does not use a code signing certificate. On first run:

Windows — SmartScreen shows "Unknown publisher". More infoRun anyway.

macOS — Gatekeeper quarantines the app. Right-click it and choose Open, or from a terminal:

xattr -dr com.apple.quarantine /Applications/masstudio.app

Early days

This is 0.1.0 and the first public release. It is a large application built and tested mostly by one person on one machine — which means the bugs left in it are, by definition, the ones I could not find that way.

I am actively developing this and would be grateful for feedback and bug reports. The most useful kinds:

  • A file that opens wrong. PSD and RAW have enormous surface area; a file that renders incorrectly, with the file attached if you can share it, is the single most valuable report.
  • Anything on macOS at all. The packaging code is written and has never run on real hardware. If you try it, I want to hear what happened even if the answer is "it did not start".
  • Performance on your GPU. The compositor is WebGL2 and driver behaviour varies more than it should. Tell me the card and what got slow.
  • Simple Mode and the academy. These exist for people new to image editing, and I am the wrong person to judge whether they work. If a lesson was confusing, that is a bug.
  • Anything you expected to find and could not. A missing feature you went looking for says more about priorities than a roadmap does.

Open an issue for any of it, including half-formed ones. At this stage a rough report is worth more than a polished one that never gets filed.

Licence

MIT — full text in LICENSE.

The bundled AI model weights are chosen only from permissively licensed models (MIT / Apache-2.0 / BSD-3); weights restricting commercial use are not included. Every distributed model's licence and source is listed in NOTICE.md, and that list is generated from the model registry — a hand-written one would start lying the first time a model changed.


🇹🇷 Türkçe: README.tr.md

About

Open source cross-platform image editor: layered documents, 16/32-bit colour, ICC/CMYK, PSD read+write, RAW, and AI tools that run entirely on your machine

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages