Skip to content

Repository files navigation

OpenCreate Forge Logo

OpenCreate Forge is a modern, high-performance, and open-source image manipulation software. Built with a focus on professional creative workflows, it combines the flexibility of web technologies with the power of a custom-built canvas engine to deliver a seamless editing experience.

💻 Download Latest Release

✨ Features

  • 🎨 Powerful Canvas Engine: A custom-built rendering engine optimized for high-resolution image manipulation and real-time tool feedback.
  • 🏗️ Advanced Layer System: Manage your project with Raster, Text, and Group layers, supporting complex hierarchies and compositing.
  • 🛠️ Professional Toolset: Includes essential tools like Brush, Pencil, Eraser, Move, Selection, Transform, Crop, and a rich Text editor.
  • 📜 Non-Destructive History: Full undo/redo support to explore your creativity without fear of losing progress.
  • 📁 Native File Support: Save and load projects using the .ocfd (OpenCreate Forge Document) format, preserving all layers and metadata.
  • 📐 Precision UI: Built-in rulers, guides, and viewport transformations (zoom/pan) for pixel-perfect accuracy.
  • Modern Interface: A sleek, dark-themed UI built with React 19 and Tailwind CSS v4, optimized for focus and efficiency.

🛠️ Technology Stack

  • Electron: Used to provide a robust desktop environment. It allows us to leverage web technologies while maintaining direct access to the native file system and system-level performance optimizations.
  • React 19: The foundation of our UI. We use it for its declarative component model and efficient state updates, which are critical for managing the complex, real-time property panels and sidebar controls.
  • TypeScript 6: Ensures a type-safe codebase. For a project with complex engine logic and layer structures, TypeScript provides the necessary tooling to prevent bugs and maintain scalability.
  • Zustand 5: Our choice for state management. It is lightweight and highly performant, making it perfect for handling global project state (layers, selection, history) without the overhead of heavier frameworks.
  • Tailwind CSS v4: Enables rapid and consistent UI development. Its utility-first approach and the latest v4 features allow us to build a beautiful, modern interface with minimal CSS footprint.
  • Vite 8: The build tool of choice. It provides lightning-fast Hot Module Replacement (HMR) and optimized build pipelines, significantly improving the developer experience in an Electron environment.
  • HTML5 Canvas: The core of the engine. It provides low-level pixel manipulation and hardware-accelerated rendering, which is essential for a high-performance image editor.

🚀 How to Run (Development)

Prerequisites

  1. Clone the repository:

    git clone https://github.com/opencreate-app/forge.git
    cd opencreate-forge
  2. Install the dependencies:

    npm install
  3. Run in development mode:

    npm run dev

📦 How to Build and Run

Building

# Full build (TypeScript check + Vite build + Electron builder)
npm run build

Testing

# Run all tests
npm run test:all

# Run specific test suites
npm run test:tools
npm run test:layers
npm run test:project

Linting and Quality

# Run TypeScript Checking
npm run tsc

# Run ESLint
npm run lint

# Comprehensive check (TSC + Lint)
npm run check

# Prettier formatting
npm run prettier

📝 Usage Notes

  • Performance: The engine uses hardware acceleration where available. For large projects, ensure your graphics drivers are up to date.
  • File Format: .ocfd files are JSON-based and intended for use exclusively within OpenCreate Forge. You can export to standard formats (PNG, JPG) via the File menu (WIP).
  • Custom Tools: The architecture is designed to be extensible. You can implement new tools by extending the BaseTool class in the core directory.

Created with ❤️ by Gabriel Borges

Generated through Gemini CLI (gemini-3-flash-preview)

About

OpenCreate Forge is a powerful image editor. Free and Open-Source Software.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Contributors

Languages