=== PrintBlob – Product Designer for WooCommerce ===
Contributors: printblob
Tags: product designer, custom t-shirt, print on demand, woocommerce, personalization
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Let customers design their own print — photos, logos and text — on your real product photos, and receive a print-ready 300 DPI file with every order.

== Description ==

PrintBlob adds a product designer to WooCommerce. Customers upload a photo or logo, type text in a choice of fonts, move and resize everything on the front and back of your product, pick a colour and size, and see the price update as they go. When they order, you get a print-ready PNG at 300 DPI for each printed side, attached to the order.

* **Your own product photos.** Set up mockups under Products › Mockups: a photo per side, the print area drawn right on the photo, and the real print size in centimetres.
* **Every colour from one photo.** Photograph the product once in white; PrintBlob recolours it to each colour of your colour attribute, keeping folds and shading.
* **A 3D view.** Customers turn the shirt on its hanger and see their design on the front and the back, following the folds of the fabric. It is made from the same front and back photos: no 3D models to make. It loads only when a customer opens it.
* **Print-ready files.** Each printed side becomes a transparent PNG at exactly the print size, 300 DPI. Customers are warned when an image is too small to print sharply.
* **Works with WooCommerce.** Variable products, the block cart and checkout, order emails and the order screen (with download links for the print files). Compatible with High-Performance Order Storage.
* **Blocks.** The PrintBlob designer block and the Colours block work in any block theme. Theme colours, fonts and corner radius are used automatically.
* **Translation-ready**, including the designer itself. Macedonian, Albanian and Turkish translations are included.

= PrintBlob Pro =

The [PrintBlob Pro](https://printblob.com/) add-on adds sleeve printing, a production print queue and your own fonts.

= Privacy =

PrintBlob does not send data to any outside service. Customer images and designs are stored on your site: previews in the media library, print files in a protected folder. Designs that never become an order are deleted after the number of days set in the settings.

= Source code =

The scripts in build/ are compiled from the source in src/, which ships with the plugin: `npm install` and `npm run build` (@wordpress/scripts, with webpack.config.js) rebuild them. The 3D view uses [three.js](https://threejs.org/) (MIT licence), bundled in build/printblob-3d.js.

= Requirements =

WordPress 7.0, WooCommerce 10.0 and PHP 7.4 or newer.

== Installation ==

1. Install PrintBlob from Plugins › Add New (search for "PrintBlob") and activate it. WooCommerce must be active.
2. Open Products › Mockups. A t-shirt mockup is ready to use; add your own photos and print areas as needed.
3. Edit a product, open its PrintBlob designer tab, turn the designer on, choose a mockup and set the print price per side.
4. Add colour values and photos to the terms of your colour attribute (Products › Attributes).
5. Add the PrintBlob designer block to a page (or use the product's own page) and the Colours block wherever you want colour links.
6. Check the options under WooCommerce › Settings › PrintBlob.

== Frequently Asked Questions ==

= Where do I get the print files? =

Open the order in WooCommerce. Each designed item shows a preview per side and a link to download its print file: a transparent PNG at 300 DPI, exactly the print size set on the mockup. Print files are stored outside public access.

= Does it work with my theme? =

PrintBlob's blocks work in block themes and use your theme's colours and fonts. The designer also shows on the product page of designer products.

= Is there a Pro version? =

PrintBlob Pro is a separate add-on from printblob.com. It adds sleeve printing, a production print queue with one-click download of all print files of an order, and your own fonts. Everything in this plugin works without it.

= Can I change how the designer looks? =

It uses your theme's colours and fonts. Set the corner radius for buttons and fields with `settings.custom.printblob.radius` in your theme's theme.json, or override the `--printblob-*` CSS custom properties.

== Screenshots ==

1. The designer: text in a choice of fonts on the front, the print area, colour and size.
2. The Colours block: every colour of the product, each opening the designer in that colour.
3. The designer on a phone.
4. A mockup: the photo of each side with its print area and print size.
5. An order: previews of the design and the print file to download.
6. WooCommerce › Settings › PrintBlob.
7. The 3D view: the shirt on its hanger with the customer's design, turned by dragging.

== Changelog ==

= 1.1.0 =
* New: a 3D view in the designer. The 3D button turns the product into a garment on a hanger, made from the mockup's front and back photos, with the customer's design printed on each side; drag to turn it, or use Front and Back. Its code loads only when it is opened. It can be turned off under WooCommerce › Settings › PrintBlob.
* The bundled t-shirt mockup has its own photo of the back (until now the front photo was used for both sides). Shops still using the bundled photos get it automatically; photos a shop uploaded are never changed.
* Mockups can record where the garment is open (sleeve ends, hem, neck) for the 3D view; the bundled t-shirt comes with them.

= 1.0.3 =
* The designer opens faster: its layout is in the page before the script loads, print fonts load only when used, the shirt photo is WebP, and its script loads at the end of the page.
* The page no longer jumps while the designer starts: its layout stays in place until the designer replaces it.
* Add to cart shows its progress right away, and a second click while adding is ignored.
* Themes with a light accent colour can set the text colour of the main button (--printblob-on-cobalt).

= 1.0.2 =
* The designer shows the product name (as the page heading), price and summary in the page itself before its script loads, so search engines and slow connections see them.
* Designer products list their price including the cheapest printed side, because every design has a print: "From" prices, sorting and search engine data show what customers actually pay at least.

= 1.0.1 =
* Switching between front and back keeps both designs.
* Print files are marked 300 DPI, so print software opens them at their real size.
* The designer follows themes with a dark mode: panels, fields, buttons and colour swatches take the theme's colours.

= 1.0.0 =
* First public release.
