Skip to content

Introduction

CustomForge is a browser library for building product customization experiences that connect a 2D design canvas to a live 3D product preview

Users can add text, logos, backgrounds, and decorative images on the design canvas while CustomForge maps the composed texture onto a UV-mapped 3D model in real time

Current release

0.1.0 is the first non-prerelease CustomForge version

Public APIs follow semantic versioning. Design JSON version 1 documents remain readable throughout the 0.1.x line

How it works

mermaid
flowchart LR
    A[Text and images] --> B[2D design canvas]
    C[Optional base texture] --> B
    B --> D[Live canvas texture]
    E[UV-mapped GLB or GLTF] --> F[3D product]
    D --> F
    F --> G[Interactive preview]

The model already contains the UV coordinates that describe how points on the flat texture correspond to points on the 3D surface

CustomForge updates the texture, not the geometry, so a prepared UV-mapped model is the key product asset

Choose an integration layer

CustomForge provides two public entry points

EntryBest forWhat you build
customforge/workbenchGetting started quickly or embedding a complete editorProduct data, configuration, and surrounding application flow
customforgeBuilding a fully custom interfaceAll buttons, panels, dialogs, and application layout

Start with the Workbench unless your product already has a dedicated design system or a highly specific editing workflow

Both entry points use the same ProductCustomizer engine and produce the same Design JSON format

What is included

  • A Fabric.js based 2D design surface
  • A Three.js based GLB and GLTF product viewer
  • Real-time canvas-to-texture synchronization
  • Text and image objects with selection, transform controls, and rich text formatting
  • Layer naming, visibility, locking, ordering, and deletion
  • Undo and redo history
  • Design JSON save and restore
  • Composed texture export as PNG
  • A configurable Workbench with branding, theme, labels, feature switches, and asset presets
  • A bundled GLB cup with separate MugBody and printable PrintArea meshes for development without external assets

Current scope

The current release focuses on one logical design canvas mapped to one named Mesh and its first material slot

The following areas are not implemented yet

  • Multiple independently editable product surfaces
  • Compressed GLTF extensions that require additional decoders
  • Advanced alignment, snapping, and print bleed tools
  • Official Vue, React, or other framework adapters

CustomForge itself is framework-agnostic and can be mounted from any framework after the target DOM elements are available

Next steps