WordPress / WooCommerce Documentation
Complete product-builder, storefront, order, saved-design and production-export reference for Iza 3D Product Designer & Product Builder Customizer.
Getting Started
Iza 3D Product Designer & Product Builder Customizer for WordPress provides a visual product builder, reusable content libraries, frontend placement, WooCommerce pricing and variation integration, customer saved designs, cart thumbnails, immutable order snapshots and browser-based production export.
Products, views, layers, content libraries and export settings are configured visually in the administrator, stored by WordPress and loaded automatically wherever the product is assigned. Start with the GLB model tutorial, then follow Create the first product.
Requirements
- WordPress 6.0 or newer and PHP 8.0 or newer.
- A modern browser with WebGL 2, Canvas, Promises, Fetch and the FontFace API.
- WooCommerce only when storefront pricing, variations, cart, checkout and order features are required.
- A writable WordPress uploads directory for imported product assets, custom fonts, customer uploads and generated thumbnails.
- Trusted product administrators can upload SVG files through the Media Library. The plugin sanitizes SVG XML before WordPress stores it. Malformed files and unsupported executable content are rejected.
- HTTPS and consistent WordPress/Site URLs on production sites. Mixed HTTP/HTTPS media or font URLs are blocked by browsers.
Choosing the right image format
Select assets according to the detail, transparency and color editing customers need. The right format keeps the editor responsive and improves preview and production output.
| Format | Recommended use | Color customization |
|---|---|---|
| SVG | Logos, icons, shapes, line art and editable product regions. | Best choice for sharp scaling and editable vector colors. Upload through the WordPress Media Library, then configure available colors in the relevant content item or view layer. |
| PNG | Transparent photos, shading, texture, shadows and raster artwork. | Supports tinting while preserving source detail. A fully white transparent PNG works well as a clean color mask. |
| JPG | Opaque photographs and full rectangular backgrounds. | Not recommended for recoloring because JPG does not contain transparent regions that isolate the subject. |
Prepare the GLB model and artwork
Configure these limits in 3D Settings > GLB Import Limits and Messages. Maximum GLB File Size (MB) corresponds to createProduct.maxFileSizeMB, with maxMeshes and maxVertices controlling model complexity. WordPress, PHP or your hosting server may impose a lower upload limit. Increasing the plugin limit does not change the server limit.
Prepare your model in Blender or another 3D editor before using Create Product:
- Model at real-world size using meters. For example, 70 cm is 0.7 m.
- Apply rotation and scale before exporting.
- Separate editable parts into clearly named meshes.
- Give each editable mesh clean, non-overlapping UVs. These tell the designer where the flat artwork belongs on the model.
- Keep interchangeable parts aligned at the same attachment points, so they fit when switched.
- For Build choices, follow the group, option and part naming guide below.
A self-contained GLB model is required for this edition. Create Product derives each editable part's flat SVG from its UVs. It does not unwrap or repair the model. Explicit appearance__ parts can use a rendered reference image instead when they only need appearance editing.
Use ordinary uncompressed GLB files with embedded resources. Keep original UVs and material maps for surface detail. The model's geometry, materials and scene lights provide 3D shading. A separate 2D shadow overlay is not required. Additional SVG and raster assets are for the customer's artwork and content libraries.
- Editable product colors: use clean SVG paths with explicit fills and remove unused metadata or embedded raster files.
- Surface detail: retain the model's normal and material maps. If you add a separate overlay only for the flat preview, keep it out of the 3D texture and production output.
- Transparent artwork: use optimized PNG files sized for the largest expected production output.
- Photographs: use JPG only when transparency and customer recoloring are not required.
- Production quality: test the final crop, colors and resolution with Download Production before publishing the product.
Build: interchangeable model parts
Build lets the customer switch between model parts, such as sleeve styles or collar shapes. It uses normal views with an additional group object. Create Product reads the object names in your GLB and generates the Build choices automatically. Ordinary mesh names create ordinary views.
Name your Build parts
Name each interchangeable mesh using this pattern:
group__option__partSeparate the three sections with two underscores:
- Group: what the customer changes, such as
sleeves. - Option: the available style, such as
regularorlong. - Part: the individual piece, such as
leftorright.
For two sleeve styles, name the four mesh objects:
sleeves__regular__left
sleeves__regular__right
sleeves__long__left
sleeves__long__rightChoosing Long replaces both sleeves together. Every option must contain the same part names, so both Regular and Long need one left and one right. Keep the alternatives in the same position on the model, not laid out beside each other.
For an option containing only one mesh, omit the part:
collar__crew
collar__raisedThis creates a separate collar choice with Crew and Raised options. Use these as the object names in Blender's Outliner, not material names. Include all alternatives in the exported GLB. Each Build group needs at least two options.
Nested parts and appearance-only choices
Add the lowercase prefix appearance__ to the object name in Blender's Outliner when a part only needs color or material changes, not artwork. Use appearance__name for an ordinary part or appearance__group__option__part for a Build choice. Use two underscores between sections. This is an object or owning parent name, not a material name.
Create Product handles these parts differently:
- The named mesh or parent and its nested meshes become one view. Children do not create separate views.
- The view gets a rendered PNG reference image instead of an editable UV silhouette. UVs are not required for that reference image, but existing model textures still need their UVs.
- Color and material changes remain available when their respective permissions allow them. Text, images and shapes cannot be added to this part.
In the WordPress backend: select the base in the view editor and open Visibility and Editing. Disable Content Editing stays checked, cannot be clicked and has reduced opacity. The explanation beside it identifies the restriction from the model. The view's visibility remains a separate setting. This restriction does not itself turn off color or material editing.
For example, appearance__strap__blue_leather__details creates one appearance-only Details view in the Strap group's Blue Leather option. Its reference image is not a flat artwork surface. The editable strap uses the ordinary binding strap__blue_leather__bracelet. Add or edit strap artwork in that editable view, not in Details.
options.disableContentEditing to false does not override an appearance__ binding. To create an artwork-editable part, prepare a supported editable mesh with usable UVs, remove the prefix from its object name and create the product again. Renaming only the layer title does not change the model binding. On ordinary UV-mapped views, the Disable Content Editing switch still works normally.In the backend, enabling Disable Content Editing also dims and disables the buttons for adding text, images, shapes and artwork immediately, before saving. Turning it off restores those buttons on editable views. Supported color and material controls remain available. An open content picker closes when this restriction is enabled.
See Build: Model Setup for the exact naming rules, nested hierarchy examples and rejected cases. Duplicate names, incomplete alternatives and conflicting nested declarations must be corrected in the model, not hidden by renaming JSON entries.
For example, use this name for a parent containing the small meshes that make up one ring setting:
appearance__head__emerald__settingThey become one appearance-only part of the Head group's Emerald option. Do not give its descendants separate conflicting Build declarations. An appearance assembly is not a way to paint one continuous design across unrelated UV maps.
Configure the choices in WordPress
- Create from GLB or copy a grouped template such as T-Shirt, Ring or FWD Watch.
- Choose the initial option for each group in Product Settings > Build.
- Set each part's additional price in View Options. An option's price is the sum of its parts, not a replacement for the base price.
- Use Preserve Design when alternatives need independent artwork or finishes. When either the incoming or outgoing part enables it, switching retains each part's own edits. Otherwise matching parts transfer artwork, fitting it inward or shrinking it for a smaller print area.
- Include Build in the module bar and choose
startModule: "build"if it should open first. Test every option and the complete product price before publishing.
Clicking a Build thumbnail opens the corresponding view and moves to its saved camera. Inactive alternatives remain in the product and its GLB but are omitted from current picking, previews and pricing. Export retains all alternatives within this one product. Build choices are not WooCommerce variations and do not create separate stock records.
Preview generation during a Build switch. The frontend and editor use the same process: prepare the replacement parts and their textures, then complete the change. Background live-texture updates and quality refinement wait until the switch finishes and resume afterward. Additional Build selections are ignored while the current switch is running.
If a required texture cannot be generated, the switch reports an error and restores the previous Build option. You can try again after it finishes restoring. A slower texture update alone should not produce an "Unable to generate the 3D preview" error. This behavior is automatic and does not require a WordPress or JSON setting.
The Ring template demonstrates a product builder with linked stone colors. FWD Watch combines a builder for case, dial and strap choices with artwork editing on the supported leather and rubber straps. Appearance-only parts can keep their original materials and have color, material, reset and direct-click selection disabled.
For pricing, suppose Long has a left part priced at 3 and a right part priced at 3. Selecting Long adds 6 to the base price. If the intended extra charge is 3 for the whole pair, split that amount between the two parts or assign it to only one part. Do not enter the full option price on every part.
Installation
- Upload the complete
iza-3d-product-designerfolder to/wp-content/plugins/, or install its ZIP from Plugins > Add New > Upload Plugin. - Activate Iza 3D Product Designer & Product Builder Customizer.
- Open Iza 3D Product Designer & Product Builder Customizer in the administrator menu.
- Create a product from a bundled 3D template, import a product ZIP, or choose Create from GLB.
- Review the generated views, save your changes, then save the product.
- Assign the product to a WooCommerce product, a supported post/page, or place it with the shortcode.
Activation grants the plugin capability to administrators and creates the saved-design table. Deactivating the plugin does not delete products, categories, fonts, saved designs or order data.
Create the first product
Create from GLB keeps the front-facing starting part first and places related names, such as body_front and body_back, or sleeve_left_outside and sleeve_right_outside, next to each other. Name families recognize left/right, front/back/rear and top/bottom markers. Build views are grouped by group, then option, with parts in natural name order inside each option. The starting part stays first even if its name would sort later. Ordering does not change the selected Build option. It preserves the original GLB, materials, colors and textures. Scene lighting can still affect their appearance. Existing saved products are not reordered.
Create from GLB uses the same name families for ordering, base naming and color synchronization. Ordinary pairs such as body_front and body_back share one Base title and an Active Build color and material link. Left/right, front/back/rear and top/bottom markers are ignored when identifying a family. Build families use the group and part role, keeping distinct roles such as stones and setting separate. Matching roles across options share a Base title, but only parts in the active option synchronize. Inactive options retain their own appearance. The UV surface binding is updated to match each Base title. Unrelated names are not guessed.
Base layers are named Base, Base1, Base2 and so on, by family in generated view order. Matching parts share a name, unrelated parts receive different names, and artwork names are skipped to avoid collisions. This works from the model's names and groups, not a fixed list of product types. GLB mesh names stay unchanged, and artwork mapping is updated to the correct base layer name.
Linked families use Color Synchronization set to Active Build. Independent parts use None. Inactive Build options keep their own colors and materials. Initial colors remain unchanged until you edit them. Artwork and geometry are not copied. Select the base layer and change Color Synchronization to None if that part should stay independent. Existing products and saved designs are not changed.
- Click Add Product and select a bundled template or Create from GLB.
- For a GLB, choose the file and let the creator generate the views, references and product name. The model is imported before editing. The processing button cannot start another import while busy.
- Choose whether imported GLB, image and SVG assets should be registered in the Media Library. Then open the product and click Design for a view. Review its generated camera, ruler, silhouette and print area.
- Set the physical print size and canvas in View Options, position the printing box, and add the required layers.
- Configure interface, content-library, production and WooCommerce options.
- Save the view and then save the product. Green save/update states indicate unsaved changes.
How a 3D product works
This edition requires a GLB model. The 2D window is a flat editing surface for that model, not a separate 2D-only product. You can edit artwork in either window and see the same layers in both.
- Model: the GLB contains the geometry, UVs and original materials. Keep all Build alternatives inside it.
- View: connects a named model part to its artwork, material, saved camera and measurement settings.
- Mapped surface: the generated Base SVG describes the editable UV region. Its mapping is assigned automatically. Renaming the layer in the editor updates that reference.
- Artwork: text, images and shapes remain editable layers. They are rendered into a texture on the model, not converted into separate 3D geometry.
- Build option: switches one or more related parts together. It can have its own artwork, finish and additional price.
Do not replace the Base silhouette with an unrelated shape to change the model's geometry. A different outline does not create new UVs or reshape the GLB. Prepare those changes in your 3D editor and create a new product from the updated model.
Updates
Back up the WordPress database and wp-content/uploads before replacing plugin files. Keep the entire plugin folder together, clear page/cache/CDN caches after updating, and test product pages plus one production export before deploying.
Download Preview
Download Preview creates a visual mockup for checking or sharing a design. Choose the flat 2D artwork or the rendered 3D model. It is separate from Download Production, which uses the printing box, physical print dimensions, DPI and bleed.
Settings and download choices
Products Manager > Edit Product > Production > Download and Preview
Choose the available formats and the initial Current View or All Views scope here. Customers use Download Preview in the action bar. Administrators can use it from View Customization on a WooCommerce order.
To change image resolution, open Product Settings > Image Quality and Performance > Preview Resolution. This saves model3D.previewResolution in the product JSON. It is an image size in pixels, not DPI, a physical measurement or the width of the download dialog.
How 2D size is calculated
The flat preview uses the view's full workspace and keeps its proportions. It does not crop the output to the printing box. Layer clipping still applies where configured. Zooming the editor or resizing the browser does not change the downloaded workspace.
The renderer reads the workspace's internal pixel width and height, then calculates:
Scale = Preview Resolution / max(Workspace Width, Workspace Height)
Output Width = Workspace Width * Scale
Output Height = Workspace Height * ScaleThe result is stored in whole pixels. A 400 by 800 workspace with Preview Resolution set to 1600 produces 800 by 1600 pixels. A square workspace produces 1600 by 1600 pixels. Each view is calculated separately, so differently shaped workspaces do not become stretched square images.
The default resolution is 1600 when the setting is missing or invalid. The 2D raster limit is 4096 pixels on the longest edge. Text and vector shapes are rendered again at the output resolution rather than enlarging a small screenshot.
3D size and camera framing
Normal 3D preview downloads use each view's configured camera framing in a square image. At a resolution of 1600, each image is 1600 by 1600 pixels. Position, target, up direction and field of view determine how large the model appears inside that image. Increasing resolution adds pixels, it does not move the camera closer.
The optional Download Preview button beside the viewport tools has a different purpose: it captures the current camera, including its current zoom and rotation, as a transparent PNG. It keeps the viewport's proportions rather than making a square. For example, a 2:1 viewport produces 1600 by 800 pixels at a resolution of 1600.
For that current-camera capture, the longest edge uses Preview Resolution and the other edge follows the camera aspect ratio. The 3D limit is the lower of 4096 pixels and the graphics device's maximum supported texture size. Rulers, selection outlines and editing controls are not included.
Formats and backgrounds
| Format | What the file contains |
|---|---|
| PNG | A raster preview with support for transparency. Normal 2D previews retain the configured canvas background. Normal 3D previews retain the scene background. PNG does not automatically remove those backgrounds. The separate current-camera button explicitly requests a transparent background. |
| JPG | A compressed raster preview without transparency. Use PNG when transparent areas are required. |
| SVG | 2D exports retain supported vector artwork in the workspace coordinate system. Imported raster images remain raster. The raster resolution formula does not apply to 2D SVG. A 3D SVG contains an embedded rendered image, not editable model geometry. |
| A document containing rendered preview images, not a vector reconstruction or a print-ready production file. Preview Resolution controls the embedded raster detail. |
When several views are downloaded, image and SVG files are packaged in a ZIP. PDF combines the selected views into one document. The scope uses available views, not every inactive Build alternative.
Quality and export exclusions
Exclude From Export removes a layer from normal preview downloads. Exclude From Production Export applies to production output and does not remove that layer from a normal preview. This lets a base or mockup remain visible in previews while staying out of print-ready artwork.
A larger preview cannot restore detail missing from a small uploaded image. For 3D, artwork texture resolution, texture filtering, model materials and lighting also affect the result. Preview Resolution changes the final image dimensions. Texture Resolution changes the artwork texture on the model.
Cart thumbnails are separate compact captures, normally 512 pixels on the longest edge. They are not the source image used for a full-resolution preview download.
Products Manager
The Products Manager is the single administration workspace. Products contain their views, complete interface configuration, content libraries, production setup and WooCommerce behavior. There are no separate plugin submenu pages for those parts.
This video shows the 2D edition. The shared WordPress interface and artwork controls also apply here. Use the GLB workflow above for 3D model setup. See the 2D documentation for that edition.
Products and starter templates
Product cards can be opened, renamed, duplicated, designed, exported or deleted. Drag cards to change their administrator order. The plugin bundles four templates: T-Shirt, Ring, Fabric Tote Bag and Phone Case. The mug, cap, watch, shoe, heart pillow and business card remain available as standalone examples but are not bundled with the WordPress plugin. Use Create from GLB or Import Product to add other models. A copied template keeps its own configuration, but referenced asset files must remain available.
The product title, reference image, base price, starting view, starting module and root unit belong to the product. WooCommerce supplies the storefront base price and currency when the product is used on a WooCommerce page.
Product ZIP import and export
Export Product creates a portable ZIP for one product, including its JSON, GLB and referenced assets. It retains inactive Build alternatives, group identifiers and prices, artwork, material adjustments, cameras, ruler settings and the opening layout and module. It is intended for backup, transfer and template creation, not print production. The other products in the Products selector are not separate products in this archive.
Import Product accepts an Iza 3D Product Designer & Product Builder Customizer ZIP. After selecting the archive, choose whether its images and SVG assets should be registered in the WordPress Media Library.
- Yes: supported assets are added as Media Library attachments. Matching existing attachments are reused instead of duplicated.
- No: assets are stored persistently in WordPress uploads without creating Media Library entries.
- Close: closing the question dialog cancels the pending import.
The importer validates the package, rewrites every referenced asset URL to the current website and creates an independent product. Click Update afterward to save the imported product.
Views
Creation, saving and WooCommerce price validation support up to 128 views per product, including inactive Build alternatives. Only the selected Build configuration contributes to the order price.
Create Product generates views from the GLB's named parts. A view can represent a shirt front, a sleeve, a watch strap or an appearance-only assembly such as a ring setting. Each view stores its own camera and finish, and editable views also contain a mapped 2D surface and artwork.
View cards support design, edit, duplicate, delete, visibility and drag sorting. These actions manage the product configuration, they do not create new geometry in the GLB. Starting View in Product Settings lists only visible views in the selected Build configuration and ungrouped views. Change the Build option first to choose one of its parts. The list refreshes immediately, keeping the same starting part in the new option when available, otherwise falling back to the first available view. Selecting a Starting View does not change the Build configuration.
The view thumbnail is a normal reference image and is not clipped by the canvas printing box. Saving a view returns to the product only after the view data has been stored successfully. See Preview image storage for file locations, database storage and backup details.
Backend view thumbnails use each view's saved camera and the same square capture frame, including the view you are currently editing. Orbiting or resizing the editor does not change the saved thumbnail framing. Use Current Camera captures a new angle explicitly. Download Preview remains separate and can use the current viewport proportions.
Captured product and view previews are stored as image files in WordPress uploads when you save. The catalog stores their URLs instead of embedding the images in the database. This preserves their original quality and transparency while keeping large Build catalogs smaller. Identical previews are reused on later saves.
View Designer
The View Designer uses a dedicated builder interface around the real product canvas. Its top layer grid and selected-element inspector are administration controls. The action bar and frontend modules can be hidden while building.
- Add image, text, shape and artwork layers from the product's embedded libraries.
- Replace media, edit titles/content, sort layers, and set visibility, lock and Layers-module behavior.
- Edit position, size, origin, rotation, skew, flip, fill, stroke, shadow, text formatting and curved-text parameters.
- Configure movable, resizable, rotatable, duplicable, removable, resettable and other element permissions.
- Use None, Clipping, Inside, the Printing Box, or another current layer title as an element boundary where supported.
- Use Undo/Redo, ruler, snapping, zoom and fullscreen while building.
The builder's Zoom button changes the active viewport. In split mode, click the 2D canvas or 3D model first to choose which one to zoom. Each viewport keeps its own zoom. Disabling the model's Enable Zoom option also disables button-driven 3D zoom.
Turn on Free Camera beside Use Current Camera to arrange the view without the normal customer zoom limits. Rotate, pan and zoom as needed, then click Use Current Camera. The new framing becomes 100% without moving the camera, and Free Camera switches off. Click Save View to persist the camera and thumbnail. Turning Free Camera off without capturing restores the previous position. The saved position is the normal starting view (100%) and the smallest allowed model size. Scroll up to enlarge it. Scroll down to return to 100%, where outward movement stops. Free Camera remains unrestricted for setup. The 2D canvas keeps its existing zoom range.
Set model3D.camera.maxZoomIn separately for each view. It is a magnification multiplier, not a distance: 1 means 100% only, 2 allows up to 200%, and 8 allows up to 800%. Decimals such as 1.5 are supported. The default is 2. Scroll up to enlarge the model and down to return to the saved 100% position. Normal zoom never makes the model smaller than this starting view. Wheel, pinch and slider controls share this limit. Free Camera and the 2D canvas are unaffected.
"maxZoomIn": 2
Open View Options > Saved Camera > Lens and Movement > Maximum Zoom-In. Enter the multiplier, confirm View Options, then save the view. Create Product defaults to 2. Camera capture, camera copy and Export Product preserve the value. Use Free Camera and Use Current Camera to set a different 100% starting position.
Use Current Camera stores the current 3D camera and replaces this view's thumbnail with a transparent preview of the same angle. It includes the visible artwork and materials, without rulers or editing controls. Click Save View to keep both changes. Other views and the main product image are unchanged.
Moving artwork enables Save View when you release it. Rotating, panning or zooming the model is only for inspection and does not replace the saved camera. To keep a new angle, click Use Current Camera, then save the view. Save View and Back to Views do not capture a different camera automatically.
Saving a color, material or artwork change refreshes all view thumbnails because each camera can show several parts of the product. This also applies to independent parts with synchronization turned off: recoloring a band updates its appearance in every preview that shows that band, without recoloring other parts. Synchronized edits follow the layer's Color Synchronization. All Views includes inactive Build alternatives, while Active Build leaves their individual colors and materials unchanged. Every thumbnail uses its view's saved camera, including the current view. Click Use Current Camera first if you want to save a new angle. A loading screen stays visible until the thumbnails are ready. Your default Build selection is not changed.
Interchangeable bases follow the same synchronization setting during customer Build switches and backend saving. Only matching layers set to All Views carry their base appearance between alternatives. None and Active Build preserve each alternative's own base color and material. Preserve Design and locked original finishes still apply. Artwork transfer and fitting between editable Build alternatives remain separate from base appearance synchronization.
Saving a view also refreshes the main product image shown in Products Manager and the frontend Products list. It uses the product's starting view and default Build choices, with the current saved colors and artwork. Editing another view does not turn its close-up into the main product image. If preview capture fails, the previous image is kept.
Back to Views refreshes the transparent thumbnails using the saved cameras and saves the current artwork before returning to the view list. A new camera angle is included only if you recorded it with Use Current Camera first. If capture fails, the editor stays open so you can retry without losing your changes.
The selected element's Left, Top, Width and Height fields use the same units as the ruler and dimension tooltip. Width and height include the object's stroke and skew. Numeric resizing and drag resizing use a fixed physical scale: enlarging the base changes its measured size without changing the workspace, print crop or measurements of other layers. Saving and reopening preserves this scale. Rounded display values do not overwrite untouched fractional artwork coordinates.
Layer-title selectors refresh when layers are added, renamed or removed. If a layer used as another element's bounding box is deleted, the invalid reference is cleared.
Replace Image fits and centers replacement artwork inside its allowed boundary or printing box, including transparent image margins. Rotation, skew, layer order and editing permissions are kept. A mapped Base is fitted within its previous surface bounds instead. Saving preserves the fitted scale without rounding it, so large images keep the same size when reopened.
The mapped surface layer is automatically left out of the painted 3D texture. Its color, material, visibility and layer masking still work. No excludeFrom3DTexture property is needed on that layer, even after renaming it. Other 2D-only artwork can still use this property explicitly. Exclude From Export and Exclude From Production Export remain separate choices.
View Options
Standalone JSON and WordPress share the same per-view settings: view_width_mm and view_height_mm describe the mapped base in whole millimeters. Creation, saving and product export write these values as JSON numbers, rounded to the nearest integer (minimum 1), in the order canvas_width_mm, canvas_height_mm, view_width_mm, view_height_mm. All four workspace and surface size fields use positive integer millimeters, rounded to the nearest whole number (minimum 1). canvas_width_mm and canvas_height_mm save the physical workspace in millimeters. Pixel conversion is derived internally from the loaded surface. Do not add an options.rendering block. Existing saved products are upgraded when a loaded view is saved or exported. The plugin does not bulk-rewrite database products.
View Options define the workspace, physical view surface and print area for one view. The controls use the product ruler unit (mm, cm, inch or explicitly px). JSON stores physical view dimensions in whole millimeters. A 30 cm surface saves as view_width_mm: 300. Changing the ruler unit does not change the stored physical size.
| Option | Purpose |
|---|---|
| Print Area Width / Height | Size of the printable crop in the ruler unit. Editing it does not resize the base or recalibrate the ruler. |
| DPI | Raster resolution. 0 is allowed when no forced production DPI is required. |
| Bleed | Extra physical millimeters rendered outside each printing-box edge. |
| Workspace Width / Height | Size of the workspace in the ruler unit. Adds or removes room around the artwork. |
| View Surface Size | Physical size of the mapped base. Saves as positive integer view_width_mm and view_height_mm values. Resizing scales the base and artwork together. |
Fit Workspace to Surface removes extra space around the mapped base. Surface aspect ratio is locked by default. DPI changes export detail only.
For example, a workspace fitted to a 413 × 605 mm mapped surface saves both size pairs as 413 × 605 mm. The artwork keeps its internal coordinates:
"options": {
"canvas_width_mm": 413,
"canvas_height_mm": 605,
"view_width_mm": 413,
"view_height_mm": 605
}These are the physical size settings. Keep the view's other options and printing box. Edit the millimeter dimensions in View Options. Workspace, surface and print dimensions are saved as integer JSON numbers. Artwork transforms and printing-box coordinates retain their precision. The runtime measures the loaded surface itself, so no rendering block is needed.
Older products without these fields use their existing conversion or print-size calibration until a loaded view is saved or exported. millimetersPerPixel may appear as calculated measurement information. Authors no longer need to configure it. The value can differ between axes and is not fixed at 0.5.
Legacy canvas_width and canvas_height values are pixels. They are converted to the new millimeter fields when a loaded view is saved or exported, using its mapped surface scale. Existing layers and printing-box coordinates are preserved. Products in the database are not bulk-rewritten.
Product Settings: model and rendering
Open a product's Design tab and expand Product Settings. These values belong to the product JSON, not to the page-wide interface settings. The imported GLB URL and generated mesh bindings are kept in the data but are not editable fields.
| Section | What it controls |
|---|---|
| Product Details | Starting View, measurement unit, Starting Module and the default option for each detected Build group share this section. Changing a Build option selects all matching parts together and refreshes the Starting View choices. Products without Build groups show only the ordinary product dropdowns. For Starting Module, choose Products, Build, Saved Designs, Layers, a content module or None. The chosen module opens when the product loads only if Interface > Modules > Toggled is enabled. With Toggled off, click a module button to open it. Unavailable modules and compact layouts remain closed automatically. |
| Model and Display | Product model3D.viewLayout, background, showSmallViewport, smallViewportWidth and smallViewportHeight. Choose a main 3D or 2D window, or side-by-side windows in either order. Each viewport has its own zoom. Compact layouts use a main 3D window and a smaller 2D preview. |
| Materials and Finishes | Available presets, their default adjustment values and reflection environment. materials.enabled: false disables customer material editing without replacing the configured finish. Each view has its own preset, there is no global default material. |
| Lighting and Exposure | Tone mapping and exposure, followed by individual lights. Ambient Light uses a hemisphere with sky and ground colors. Key, Fill and Rim are directional lights. Key provides the main illumination, Fill softens dark areas, and Rim highlights edges. Exposure changes rendered brightness, not the saved artwork colors. |
| Floor and Shadows | Model shadow casting and receiving, plus the separate floor/contact shadow, its color, opacity, width, depth and softness. The key light must also allow casting for dynamic shadows. A floor contact shadow does not require a 2D PNG shadow overlay. |
| Rotation and Zoom | Orbit rotation, pan, zoom, damping, speed, angular limits, automatic rotation and the selection drag threshold. These settings do not replace the view's saved camera. |
| Image Quality and Performance | textureResolution, interactiveTextureResolution, textureRefineDelay, adaptiveTextureQuality, textureAnisotropy and previewResolution. Interaction can use a smaller texture and refine it after editing stops. Preview resolution is separate from production DPI. |
| Cloth Movement | Optional clothPhysics, including strength, stiffness, damping, pinned upper area, displacement limit and enabled axes. Movement applies consistently across the model. It is a visual effect, not a change to the printing dimensions or exported model geometry. |
| Create from GLB defaults | New products leave Cloth Movement disabled. Enable it deliberately for flexible models, not rigid parts. The creator detects metalness and transmission from the original materials and enables neutral reflections when needed. Generated thumbnails use the same reflection settings. Transparent PNGs retain refractive surfaces instead of erasing them with the background. Existing saved products keep their settings. |
| Selection Outlines | Separate selectionOutline.2D and selectionOutline.3D appearance. Outlines indicate selection, they are not printed artwork. |
The JavaScript Product JSON reference lists the shared property names and full examples. Only sections supported by the imported product appear. Saving settings does not rewrite the source GLB.
2D, 3D and split layouts
Choose the product's opening layout under Design > Product Settings > Model and Display. This overrides the fallback layout in the 3D Settings tab, so loading another product uses that product's own choice.
| Layout value | Result |
|---|---|
model | Main 3D model with an optional small 2D window. |
canvas | Main 2D editing canvas with an optional small 3D window. |
model-canvas | 3D on the left and 2D on the right. |
canvas-model | 2D on the left and 3D on the right. |
Click the small window to switch the main view. It is a preview, so objects cannot be edited inside it while minimized. Show Small Viewport hides or shows it, and Small Viewport Width and Height set its normal size. On compact screens, split layouts fall back to the main model with the optional small preview instead of stacking both editing windows.
Each viewport zooms independently. In split mode, activate the window you want to zoom first. Module placement is separate: choose its position in Interface > Modules. Choose None for Starting Module in Product Settings when the product should open without a module panel.
Materials and surface detail
Use Product Settings > Materials and Finishes to choose the finishes customers can use. Then select a view's mapped surface in the designer and use Selected Element to set that part's material and adjustments. The inspector and the model's Material toolbar edit the same values.
Available presets include Original, Fabric, Matte, Glossy, Metal, Glass, Plastic, Rubber, Leather, Ceramic and Diamond. Original keeps the GLB's authored material. Each view has its own preset. There is no global default preset that overrides all views.
- Preset settings: product-level starting adjustments for a finish. A view's saved adjustments override the matching values for that part.
- Surface detail: retain normal and other material maps in the GLB. Artwork is applied to the surface without becoming raised or engraved geometry.
- Environment: supplies studio reflections. Intensity controls their contribution. Apply To Original allows fallback reflections on imported materials without replacing their original colors or maps.
- Leather: adjust its pattern controls to change the grain, rather than changing the artwork texture resolution.
- Diamond: Fire controls colored dispersion, Brilliance controls its brightness, and Ray Bounces controls internal reflections. More bounces cost more rendering time.
Turn off Materials Enabled to prevent customers changing finishes while retaining the configured appearance. Color editing and Reset have separate layer permissions. For example, a watch can keep its original finish without showing color, material or reset controls. Disabling content editing alone does not disable those actions.
Lighting and shadows
Lighting changes how the model looks, not the saved artwork colors. Start with Exposure at 1 and adjust one light at a time under Product Settings > Lighting and Exposure.
| Control | Use |
|---|---|
| Ambient Light | A hemisphere light. Sky and ground colors provide soft illumination from above and below. |
| Key Light | The main directional light. Its position sets the direction of the strongest illumination. |
| Fill Light | A directional light that brightens dark areas. Lower its intensity if the surface looks flat. |
| Rim Light | A directional light used to make edges easier to see against the background. |
| Tone Mapping and Exposure | Neutral balances highlights, ACES adds a film-like contrast, and None disables tone mapping and its exposure adjustment. Lower exposure darkens the rendered scene. Higher exposure brightens it. |
Floor and Shadows has separate controls. Cast Shadow lets the model cast dynamic shadows when the key light also allows them. Receive Shadow lets model surfaces receive them. The soft floor/contact shadow has its own visibility, color, opacity, width, depth and softness. It is not a printed layer. Dynamic shadow resolution is controlled by the key light, not the fill or rim light.
Texture quality and performance
Open Product Settings > Image Quality and Performance. These settings affect the on-screen 3D design, not the physical print size or production DPI.
| Setting | What it changes |
|---|---|
| Texture Resolution | Longest edge of the normal artwork texture in pixels. Larger textures improve fine detail but use more memory and take longer to update. |
| Interactive Texture Resolution | A lighter texture while dragging or editing. Keep this lower than the normal resolution when interaction is slow. |
| Texture Refine Delay | Milliseconds to wait after editing stops before replacing the interactive texture with the sharper one. |
| Adaptive Texture Quality | Raises detail when zoomed in. Maximum Resolution caps it, Zoom Threshold decides when it starts, and Settle Delay waits for camera movement to stop. |
| Texture Anisotropy | Improves texture sharpness at an angle, up to the device limit. It cannot recover detail missing from a small source image. |
| Preview Resolution | Longest edge of raster preview downloads in pixels, for both 2D and 3D. Defaults to 1600, with a maximum of 4096. The 3D renderer may impose a lower limit. See Download Preview for sizing, camera framing and format differences. |
Test on the devices your customers use. Split layouts draw both editors. Complex geometry, transparent materials, diamond reflections, dynamic shadows and cloth movement can add rendering work. Reduce the expensive feature that causes the slowdown instead of raising every quality setting together.
Cloth Movement is an optional visual response to camera rotation, intended for soft products. Horizontal and Vertical enable each response axis. Strength increases movement, Stiffness resists bending, Damping settles it, Pin Top holds the upper area, and Max Displacement limits travel. Leave it off for rigid products such as watches, rings and mugs. It does not change production measurements.
3D Settings: interface controls
The separate 3D Settings tab configures the interface: fallback View Layout, Viewport Buttons and UV Export, Material Labels, Editing Labels, Viewport Labels and Messages, and GLB Import Limits and Messages. Product model3D.viewLayout takes precedence over this fallback.
Enable or hide Copy Camera, Export UV Silhouette and Download Preview here. Their colors and tooltips are configurable. The preview button downloads the current camera view as a transparent PNG. Copy Camera includes position, target, up and field of view. UV export produces a flat SVG from the selected part's UVs, not a sewing pattern.
maxFileSizeMB, maxMeshes and maxVertices reject oversized imports. They do not simplify a model, lower its texture quality or guarantee a particular frame rate. The importer preserves existing model colors and textures instead of forcing a starter color.
Per-view 3D settings and materials
Open View Options for the part you are editing. Each view retains its own mesh binding, artwork mapping, camera and material. Generated targets and mapping are not exposed as editable fields. Renaming the mapped Base layer updates its surface reference in the backend.
| Setting | Behavior |
|---|---|
selectViewOnClick | Per-view switch, not a global choice. False prevents selecting this view by clicking the model. It does not disable orbiting, the Views selector or Build, and artwork remains editable in the current editable view. |
options.hidden | Removes the view from navigation and direct selection, but keeps its model part, data and synchronization. It does not hide the geometry. |
options.disableContentEditing | Disables adding text, images, shapes and artwork and hides the print box. Color, material and reset actions remain available when permitted. |
Ruler Mode (options.rulerMode) | print-area uses the mapped design plane, model-dimensions uses the part's geometric bounds, and hidden hides the 3D ruler for this view. The ruler still requires the main ruler toggle to be enabled. |
rulerSpacing | Nonnegative top, left and right offsets in screen pixels. Add clearance around the 3D ruler without changing physical dimensions, artwork or the flat canvas. |
| Saved Camera | Labeled position, target and up X/Y/Z fields, field of view, and cameraTransitionDuration in seconds. Use Current Camera explicitly records the live pose and refreshes this view's thumbnail. Simply rotating, panning or zooming does not change the saved pose. Copy Camera copies the pose without saving it. Back to Views saves pending edits and refreshes previews from the saved cameras. |
| Texture | Flip Y, offset, repeat, center and rotation align the artwork with the model UVs. Keep generated values unless correcting a known mapping issue. Preserve Original retains the GLB appearance until artwork or the base color changes. |
| Build part | For grouped views, adjust group.price and group.preserveDesign. Group, option and part identifiers come from the model and are not renamed here. |
Select the mapped surface in Selected Element to change its material preset and adjustments. These controls and the frontend Material toolbar edit the same state and stay synchronized. Use original to retain the GLB's authored finish. Roughness and other available sliders depend on the preset. Original has no preset-adjustment sliders.
To prevent color editing, remove the surface's color palette and disable its color picker. To prevent material editing, disable product model3D.materials.enabled. Disable globalParameters.canReset separately if Reset should not appear. Disabling content editing alone does not remove these appearance actions.
Mapped surfaces with the same title and globalParameters.syncColorType: "allViews" synchronize color and material changes. Both surfaces must use the same synchronization type. Their Base images are automatically omitted from the painted 3D texture. Keep the separate preview and production exclusion settings for controlling exports.
globalParameters.syncColorType controls linked color, shadow and material changes with one choice. "none" keeps the layer independent in both directions: editing it does not recolor other views, and linked edits elsewhere do not recolor it. Build switching and backend saving also retain each independent base's own color and material. Choosing None does not undo changes already saved. "allViews" links matching layer names across every view, including inactive Build alternatives. "activeBuild" links only the selected Build options and ordinary views, preserving the other options' colors and finishes. Both layers must use the same title and synchronization type. This setting controls automatic linking. Explicitly choosing All Parts in the material toolbar is a separate whole-product action. It does not remove a shared physical mesh from other views or reverse colors previously copied into saved data. For example, use Active Build on Gemstones and Side Stones so Round and Emerald retain different colors. Create Product writes "none" initially. Export Product and saved designs retain the choice. Older products are converted automatically when loaded, preserving their previous behavior.
Choose None, All Views or Active Build from the dropdown under Selected Element > Layer Options > Color Synchronization. The full-width control shows a short explanation of the current choice below it. Choose None to keep the layer independent. The same matching rules are used by the customer designer and the backend save process.
The list below this choice names the other linked views and the matching layer. Active Build lists only matches in the configuration currently shown in the editor, including ordinary parts such as side stones. All Views also lists matching inactive alternatives. If no other layers match, the list explains this. Opening a different Build option updates the list without changing the product's starting choices.
View cards use separate labels: In Active Build marks a selected starting option, Other Build Option marks an inactive alternative, and Always Included marks a part outside the interchangeable groups. The same status appears beside View Options inside the view editor and updates as you switch views. It follows the Build choices in Product Details. Opening an alternative to edit it does not change those choices. These labels describe which parts are assembled together, not which colors are linked. The same physical part is visible from different view cameras without needing color synchronization.
A camera position alone is not a complete saved view. Target sets the point it looks at, Up controls its orientation, and FOV controls the lens angle. Use Current Camera captures these together. Keep the generated model coordinate space and use Camera Transition Duration on this view to change how quickly it is approached.
Content libraries
The Content tab manages Text, Images, Shapes and Artwork. Items are embedded in the product settings, can be sorted, and appear in the same order on the frontend. New items are inserted first.
- Use Default Price inherits the module price. Disable it to set an explicit item price, including
0for a free item. - Colors are optional customer choices. Adding a palette does not automatically apply its first swatch.
- Item Background changes only the library thumbnail background, which is useful for white artwork.
- Permissions and visual properties are copied when an item is inserted into a view. Existing view elements remain independent if the library defaults change later.
- Artwork uses sortable categories. Open a category to manage only its artwork, then use Back to return to category thumbnails.
Fonts
Font configuration follows three sources:
- System Fonts: comma-separated families expected to exist on the visitor's operating system, such as Arial.
- Google Webfonts: selected hosted families. Loading many families increases startup time.
- Custom Fonts: uploaded font files stored under
wp-content/uploads/iza-3d-product-designer/fonts/and selectable by product text controls.
The Custom Fonts Manager supports uploading, downloading and deleting managed font files. Keep the site's public URL scheme consistent so HTTPS pages never request an HTTP font URL.
This video shows the 2D edition. The shared WordPress interface and artwork controls also apply here. Use the GLB workflow above for 3D model setup. See the 2D documentation for that edition.
Product categories
Plugin categories group one or more Iza products for non-WooCommerce pages and shortcodes. Drag products into a category, sort their frontend order and select the initial product. Products in the same category appear in the Products module. Switching products reinitializes the editor with that product's own settings.
These are designer categories, not WordPress taxonomy terms or WooCommerce product categories. WooCommerce assignment intentionally uses one Iza product per product/variation because store price and purchasing behavior belong to the WooCommerce item.
Settings
Configure each product through the visual settings tabs in Products Manager. Every setting is edited directly through WordPress fields, toggles, color pickers and sortable lists.
General tab
Controls the editor size, display mode, measurement behavior, bounds, keyboard support, loading screen and confirmation windows.
Core settings
Products Manager > Edit Product > General > Core
Configure editor sizing, startup behavior, working units and the main appearance. Product sources, starting views and base prices are managed by the Products Manager and WooCommerce fields.
| Backend field | Available values | Description |
|---|---|---|
| Display | Responsive | After Parent | Lightbox | Controls how the editor is displayed. Lightbox mode uses the dedicated Lightbox section below. |
| Maximum Width, Resize Width | CSS pixels or a percentage string | Maximum editor width and the width at which automatic scaling starts. In lightbox mode percentages use browser width. In inline responsive mode Maximum Width uses the parent width, while Resize Width uses browser width. |
| Maximum Height, Minimum Height | CSS pixels or a percentage string | Maximum and minimum editor heights. Percentages such as '90%' use browser height in lightbox and inline responsive modes. Automatic scaling can reduce the actual height, subject to the minimum height. |
| Canvas Width, Canvas Height | Finite number ≥ 0 (canvas pixels) | Internal fallback canvas size when a view has no dimensions. These legacy JSON settings are hidden from the normal 3D product settings. |
| Initialize When Visible | On | Off | When true, initialization waits until the editor enters the viewport. |
| Automatic Scaling | On | Off | Scales the editor height with its responsive width. |
| Unit | Millimeters | Centimeters | Inches | Pixels | Fallback working unit for measurements and production information. A unit saved with the active product overrides this default. Physically calibrated views keep their measurement scale while the printing box is edited. |
| Default Bleed | Finite number ≥ 0, in millimeters | Global physical bleed per edge. A Bleed value saved in View Options overrides it. A value of 0 disables bleed. |
| Ruler Position | Canvas | Printing Box | Places ruler zero around the entire canvas or the active printing box. |
| Ruler Initially Visible | On | Off | Starts the ruler visible. The Ruler action can still hide it. |
| Currency | Currency symbol or code | Currency used for base, layer and library prices on non-WooCommerce pages. WooCommerce supplies its store currency automatically. |
| Background | Color picker, including transparency | Main editor background. |
| Drop Shadow | Shadow value | None | Outer editor shadow. |
Lightbox
Products Manager > Edit Product > General > Lightbox
Configure the full-browser viewer, Customize button and close button. Closing the lightbox hides it without clearing the customer's current design. Full-width and full-height layouts place the close control in the action bar so it does not cover the editor.
This video shows the 2D edition. The shared WordPress interface and artwork controls also apply here. Use the GLB workflow above for 3D model setup. See the 2D documentation for that edition.
| Backend field | Available values | Description |
|---|---|---|
| Button Label | Non-empty string | Text displayed in the generated launch button. Defaults to 'Customize'. |
| Background | Color picker, including transparency | Background covering the browser while the lightbox is open. |
| Button Background, Button Background Hover | Color picker, including transparency | Customize button background in its normal and hover states. |
| Button Text, Button Text Hover | Color picker, including transparency | Customize button text in its normal and hover states. |
| Close Width, Close Height | Finite number >= 24 (CSS pixels) | Close-button width and height. |
| Close Background, Close Background Hover | Color picker, including transparency | Close-button background in its normal and hover states. |
| Close Icon, Close Icon Hover | Color picker, including transparency | Close icon in its normal and hover states. |
Bounds and snapping
Products Manager > Edit Product > General > Bounding Box
Control object boundaries, clipping, editable printing boxes and center-snapping behavior.
| Backend field | Available values | Description |
|---|---|---|
| Bounding Box Mode | None | Inside | Clipping | Existing layer | Fallback bounds for newly added objects when an item/module does not define its own mode. Each WordPress product stores one value. Product categories do not use a positional array. |
| Bounding Box Color | Color picker, including transparency | Printing-box guide and editable bounding-box color. |
| Show Printing Box | On | Off | Shows the dashed printing-box guide. Hiding it does not change clipping, stored geometry or production export. |
| Bounding Box Editable | On | Off | Controls whether the current view printing box can be selected, moved and resized. Physically calibrated views use the selected ruler unit for X, Y, W and H and allow independent crop width and height. Legacy print-only views retain pixel inputs and print-ratio normalization. |
| Bounding Box Inputs | On | Off | Shows editable X, Y, width and height fields in both viewports. Values are whole numbers in the ruler unit for physically calibrated views, or pixels for legacy print-only views. Press Enter or leave the field to apply an edit. Escape cancels it. Decimal entries are rounded on commit, while internal geometry keeps its precision. |
| Bounding Box Inputs Background, Bounding Box Inputs Text | Color picker, including transparency | Bounding-box input panel background and text. |
| Bounding Box Inputs Field Background, Bounding Box Inputs Border, Bounding Box Inputs Border Focus | Color picker, including transparency | Bounding-box field background, normal border and focused border. |
| Toggle Snap To Center | On | Off | Initial global center-snapping state. The action bar toggle can change it on the frontend. |
| Snap Color | Color picker, including transparency | Vertical and horizontal snap-guide color. |
| Snap Threshold | Finite number ≥ 0 (canvas pixels) | Distance from center at which objects and editable bounds snap. |
Supported Bounding Box Mode values
| Value | Behavior |
|---|---|
| None | No boundary restriction or clipping is applied. The object can be moved and rendered anywhere on the canvas. |
| Inside | Uses the current view's rectangular printing box as a movement boundary and keeps the object's transformed bounds inside it. Content is not masked. |
| Clipping | Uses the current view's rectangular printing box as a clipping area. Parts of the object extending outside the box are hidden. |
An element title, such as Bounding Box or Overlay | Finds that element in the active view and uses its visible SVG shape or PNG alpha as the clipping mask. Title matching is case-insensitive. If no matching element exists in a view, no element-based mask can be applied there. |
Keyboard settings
Products Manager > Edit Product > General > Keyboard
Enable keyboard controls and configure movement, rotation and scaling increments.
| Backend field | Available values | Description |
|---|---|---|
| Add Keyboard Support | On | Off | Enables editor shortcuts. Transform shortcuts are ignored when no editable object is selected. |
| Keyboard Move Nudge Amount | Finite number ≥ 0 (pixels) | Arrow-key movement. The misspelled key is retained for compatibility. |
| Keyboard Large Move Nudge Amount | Finite number ≥ 0 (pixels) | Shift + Arrow movement. |
| Keyboard Rotate Amount | Finite number ≥ 0 (degrees) | Alt + Left/Right rotation step. |
| Keyboard Large Rotate Amount | Finite number ≥ 0 (degrees) | Shift + Alt + Left/Right rotation step. |
| Keyboard Scale Amount | Finite number ≥ 0, typically 0.001 to 0.1 | Normal keyboard scale increment. |
| Keyboard Large Scale Amount | Finite number ≥ 0, typically 0.01 to 1 | Large keyboard scale increment. |
Loader and fonts
Products Manager > Edit Product > General > Loader and Fonts
Customize the loading screen and define the system, web and custom fonts available for text.
| Backend field | Available values | Description |
|---|---|---|
| Text | String, including an empty string | Text shown while product assets and fonts load. |
| Background, Icon Background, Icon | Color picker, including transparency | Loader overlay, icon background and icon color. |
| Default Font | Font-family string matching a configured or installed font | Default family used when a text item does not specify another font. |
| Available Fonts | Managed system, Google and custom font lists | Fonts shown in the text toolbar. Supports system fonts, CSS URLs and custom font files with multiple weights/styles. |
Dialog settings
Products Manager > Edit Product > General > Dialog
Customize confirmation, error and information dialogs, including their content, colors and buttons.
| Backend field | Available values | Description |
|---|---|---|
| Ok | Non-empty string | Default acknowledgement button label. |
| Overlay, Background, Text | Color picker, including transparency | Full overlay, dialog panel and content text colors. |
| Primary Button Colors | Normal and hover colors: #hex | rgb(a) | hsl(a) | named | transparent | Primary dialog button states. |
| Close Icon Colors | Normal and hover colors: #hex | rgb(a) | hsl(a) | named | transparent | Close-icon states. |
| Delete Confirmation | Show or hide, message and button label | Delete confirmation visibility, message and button label. |
| Reset Confirmation | Show or hide, message and button label | Object/product reset confirmation visibility, message and button label. |
| Info | Maximum width and custom HTML fields | Custom help/info window. HTML, links, images and structured shortcut lists are accepted. |
Interface tab
Builds the visible customer interface and controls the order, labels, colors and behavior of its bars, windows and tools.
Action bar
Products Manager > Edit Product > Interface > Action Bar
The composer divides the action bar into equal Left, Center and Right lists. Drag actions to arrange them, and remove an action when it should not appear.
| Backend field | Available values | Description |
|---|---|---|
| Navigation | Sortable Left, Center and Right action lists | Drag actions between the three areas and arrange them in the required display order. |
| Background | Color picker, including transparency | Action bar background. |
| Icon, Icon Hover, Icon Disabled | Color picker, including transparency | Normal, hover and disabled button colors. |
| Background, Text | Color picker, including transparency | Document-level tooltip colors. |
| Left List, Right List | On | Off | Forces a File/More dropdown. Even when false, a side automatically becomes a list if its buttons do not fit. |
| Leftlist Label, Rightlist Label | String, including an empty string | Labels next to the left menu and right more icons. |
| Left List Background, Right List Background | Color picker, including transparency | Dropdown window backgrounds. |
| Left List Icon, Left List Icon Hover, Right List Icon, Right List Icon Hover | Color picker, including transparency | Dropdown trigger and item colors. |
| Left List Border, Right List Border | Color picker, including transparency | Dropdown borders. |
Available actions: Save Design, Saved Designs, Preview, Print, Download, Production Export, Undo, Redo, Ruler, Zoom, Fullscreen, Snap To Center, Previous View, Next View, Reset, Information, Export and Total. Fullscreen expands the complete designer to the browser viewport and returns to the configured size when fullscreen closes.
Views
Products Manager > Edit Product > Interface > Views
Configure the navigation used to switch between product views, including its position, colors and thumbnail grid.
| Backend field | Available values | Description |
|---|---|---|
| Position | Top Left | Top Center | Top Right | Bottom Left | Bottom Center | Bottom Right | View navigation position. |
| Background, Border | Color picker, including transparency | Navigation background and button border. |
| Icon, Icon Hover | Color picker, including transparency | Normal and hover icon colors. |
| Maximum Width, Height | Finite number ≥ 0 (CSS pixels) | Navigation maximum width and height. |
| Bottom Gap, Top Gap, Side Gap | Finite number ≥ 0 (CSS pixels) | Navigation offsets. |
| Background, Item Background, Item Background Hover | Color picker, including transparency | Full view-grid window and thumbnail colors. |
The view navigation is automatically hidden when the selected product contains only one view.
Modules
Products Manager > Edit Product > Interface > Modules
Configure the module bar, its position and the tools customers can open while customizing a product.
| Backend field | Available values | Description |
|---|---|---|
| Module Buttons | Sortable list of available modules | Add Products, Saved Designs, Layers, Text, Images, Shapes or Artwork Library, then drag them into the required order. |
| Position | Left | Bottom | Desktop module-bar position. |
| Allow Toggle | On | Off | Allows the active module button to show/hide its content window. |
| Toggled | On | Off | Initial module content visibility. |
| Background, Border, Panel Background | Color picker, including transparency | Bar, shared border and content panel backgrounds. |
| Icon, Icon Hover | Color picker, including transparency | Module icon and label normal/hover colors. |
| Button Background, Button Background Hover | Color picker, including transparency | Module button normal/hover backgrounds. |
Products and saved designs
Products Manager > Edit Product > Interface > Products and Saved Designs
Configure product selection and saved-design management, including thumbnails, titles and removal controls.
Logged-in customer designs are stored in the plugin database and loaded securely for their owner.
| Backend field | Available values | Description |
|---|---|---|
| Background, Item Background, Item Background Hover | Color picker, including transparency | Products window and preview-card colors. |
| Title Color, Title Background | Color picker, including transparency | Product title text and strip background. |
| Title Size | Finite number ≥ 0 (CSS pixels) | Product-title font size. |
| Price Color, Price Background | Color picker, including transparency | Optional price badge colors. |
| Button Background, Button Background Hover, Button Text, Button Text Hover | Color picker, including transparency | Shared product action button states. |
| Close, Close Hover | Color picker, including transparency | Optional item close button states. |
| Saved Design Records | Managed automatically | WordPress loads the current logged-in customer's saved designs. No file path needs to be entered. |
| Input Placeholder, Button Text | Strings, including an empty placeholder | Optional title placeholder and Save Design label. |
| Can Save | Managed automatically | Saving is available to logged-in customers. Logged-out visitors see the configured login message. |
| Cooldown Seconds | Integer ≥ 0 | Seconds before another design can be saved. The default is 10. |
| Login Text, Disabled Text | Text | Messages shown when login is required or while the save cooldown is active. The remaining seconds are inserted automatically. |
| Removable | On | Off | Global fallback for close and delete buttons. Individual saved items can override it. |
| Background, Item Background, Item Background Hover | Color picker, including transparency | Window and thumbnail states. |
| Button Background, Button Background Hover, Button Text, Button Text Hover | Color picker, including transparency | Save button states. |
| Close, Close Hover | Color picker, including transparency | Delete icon states. |
| Title Color, Title Background | Color picker, including transparency | Multiline title/date overlay colors. |
| Title Size | Finite number ≥ 0 (CSS pixels) | Saved-design title/date font size. |
| Input Background, Input Text, Input Border, Input Border Focus | Color picker, including transparency | Saved-design title input states. |
Layers
Products Manager > Edit Product > Interface > Layers
Configure the layers panel, layer editing and the visual states of layer items and controls.
| Backend field | Available values | Description |
|---|---|---|
| Background | Color picker, including transparency | Layers window and text-editor background. |
| Can Edit | On | Off | Allows layer names to be edited on double click. Text-layer content remains synchronized with canvas text. |
| Item Background, Item Background Hover | Color picker, including transparency | Layer normal and selected/hover backgrounds. |
| Icon, Icon Hover | Color picker, including transparency | Layer action normal and hover colors. |
Canvas
Products Manager > Edit Product > Interface > Canvas
Configure the canvas appearance, object controls, dimensions, zoom behavior and ruler styling.
| Backend field | Available values | Description |
|---|---|---|
| Show Dimensions | On | Off | Shows rounded selected-object dimensions without covering canvas controls. |
| Dimensions Background, Dimensions Text | Color picker, including transparency | Dimension badge background and text colors. |
| Object Background, Background | Color picker, including transparency | Selected-object control accent and canvas background. |
| Icon, Icon Hover, Icon Background, Icon Background Hover | Color picker, including transparency | Canvas move/rotate/resize/delete control states. |
| Zoom Levels | Selectable list of positive zoom values | Add and arrange the zoom levels available to the viewer. The normal 100% level is included automatically. |
| Zoom Step | Finite number ≥ 0, typically 0.01 to 0.25 | Zoom slider and Space + wheel increment. |
| Toggle Ruler | On | Off | Shows the rulers when the designer starts. The Ruler action can still toggle them. |
| Ruler Background, Ruler Text, Ruler Tick, Ruler Tick Major, Ruler Border | Color picker, including transparency | Ruler panel, labels, minor/major ticks and border colors. |
Object toolbar
Products Manager > Edit Product > Interface > Object Toolbar
Configure the actions and editing panels shown for selected objects, including colors, transforms and text tools.
| Backend field | Available values | Description |
|---|---|---|
| Buttons | Sortable selected controls | Choose and arrange the main Color, Material, Transform, Text, Curved Text, Align, Reset, Duplicate and Remove controls. Material is available for supported mapped surfaces, not ordinary text or image layers. |
| Align | Sortable alignment controls | Choose and arrange Top, Middle, Bottom, Left, Center and Right. |
| Curve | Sortable curved-text controls | Choose the curved-text modes and adjustment controls available to customers. |
| Color | Sortable color and text controls | Choose the fill, transparency, shadow, stroke and typography controls available to customers. |
| Transform | Sortable transform controls | Choose the scale, rotate, skew and flip controls available to customers. |
| Object Toolbar Mode | Floating | Fixed | Choose a floating toolbar near the selected object or a fixed toolbar integrated into the modules panel. |
| Toggled | On | Off | In Fixed mode, opens the first available editing panel when an object is selected. The saved Buttons order determines which compatible panel opens first. |
| Maximum Width, Text Max Width | Finite number ≥ 0 (CSS pixels) | Normal and text-object toolbar maximum widths. |
| Max Scale | Finite number ≥ 0 | Maximum scale value available in the toolbar. |
| Max Skew | Finite number from 0 to 89 (degrees) | Positive and negative skew limit. |
| Default Radius | Number from 0 to 300 | Default curved-text radius. |
| Background, Icon, Icon Hover | Color picker, including transparency | Toolbar window and primary icon colors. |
| Slider Background, Slider Border, Slider Fill, Slider Handle, Slider Input, Slider Handle Border | Color picker, including transparency | All object-toolbar sliders and inputs. |
| Back | String, including an empty string | Back button label in floating subwindows. |
| Secondary Background, Secondary Background Hover, Secondary Icon, Secondary Icon Hover, Secondary Border | Color picker, including transparency | Align, format, flip and other secondary button states. |
Content tab
Creates the reusable text, image, shape and artwork libraries available to customers for this product.
This video shows the 2D edition. The shared WordPress interface and artwork controls also apply here. Use the GLB workflow above for 3D model setup. See the 2D documentation for that edition.
Add Text
Products Manager > Edit Product > Content > Add Text
Configure text templates, default typography, object permissions, pricing and module appearance.
Create, edit and sort text templates directly in Content > Add Text. They are stored with the selected product.
| Backend field | Available values | Description |
|---|---|---|
| Text Templates | Visual template manager | Create, edit, delete and sort reusable text items stored with this product. |
| Button Text | Non-empty string | Add Text button label. |
| Price | Number ≥ 0 | currency-free numeric string | Default price inherited by text templates that have Use Default Price enabled. |
| Template Price | Use Default Price | explicit number ≥ 0 | Use Default Price inherits the global Add Text price. Disable it to set an exact template price. 0 makes that template free. |
| Removable | On | Off | Default removal permission for text templates. |
| Color Picker | On | Off | Allows the custom color picker. When false, preset swatches remain available. |
| Colors | Sortable color-swatch list, or no swatches | Default fill swatches for newly added text. Colors saved with an individual template override this default palette. |
| Can Duplicate, Can Reset, Can Move, Can Rotate, Can Resize, Can Delete, Can Reorder | Each permission: On | Off | Default permissions for text created from the module. |
| Font | A font available in the product Fonts list | Default text family. |
| Font Weight | 'normal' | 'bold' | numeric weight such as 400, 700, 900 | Text template font weight. For custom fonts, select a weight available for that uploaded font family. |
| Size | Finite number ≥ 0 | Default font size. |
| Line Height | Finite number ≥ 0 | Default line-height multiplier, for example 1.2. |
| Letter | Finite number | Default Fabric character spacing. Negative, zero and positive values are accepted. |
| Curve Type | Normal | Curved Up | Curved Down | Oblique | Bridge | Default text geometry. |
| Radius | Number from 0 to 300 | Default curved-up/down radius. |
| Curve | Number from -100 to 100 | Default oblique/bridge deformation. |
| Offset | Number from 0 to 100 | Default internal oblique/bridge offset. |
| Fill | Color picker, including transparency | no color | Default text fill. An empty string requests no fill. |
| Stroke | Color picker, including transparency | no color | Default text stroke. |
| Stroke Width | Finite number ≥ 0 | Default stroke width. 0 disables the stroke. |
| Background, Price Color, Price Background | Color picker, including transparency | Window and price badge. |
| Button Background, Button Background Hover, Button Text, Button Text Hover | Color picker, including transparency | Add Text button states. |
| Input Background, Input Text, Input Border | Color picker, including transparency | Live text-area styling. |
| Close, Close Hover, Item Background, Item Background Hover | Color picker, including transparency | Template close icon and thumbnail states. |
Add Images
Products Manager > Edit Product > Content > Add Images
Configure the image library and upload area, including defaults, permissions, pricing and visual states.
Image templates are created in Content > Add Images and embedded in the saved product settings. Media is selected from the WordPress Media Library.
| Backend field | Available values | Description |
|---|---|---|
| Image Templates | Visual template manager | Create, edit, delete and sort reusable media items stored with this product. |
| Button Text | Non-empty string | Browse button label. |
| Price | Number ≥ 0 | currency-free numeric string | Default price inherited by image templates that have Use Default Price enabled. |
| Image Price | Use Default Price | explicit number ≥ 0 | Use Default Price inherits the global Add Images price. Disable it to set an exact image price. 0 makes that image free. |
| Removable | On | Off | Default removal permission for image-library entries. |
| Color Picker | On | Off | Allows the custom color picker. When false, preset swatches remain available. |
| Colors | Sortable color-swatch list, or no swatches | Default tint/fill swatches for added PNG, JPG and SVG media. Colors saved with an individual image override this default palette. |
| Can Duplicate, Can Reset, Can Move, Can Rotate, Can Resize, Can Delete, Can Reorder | Each permission: On | Off | Default permissions for added media. |
| Background, Drop Background, Drop Border, Drop Color | Color picker, including transparency | Window, drop-area background, border and text colors. |
| Drop Text | String, including an empty string | Text displayed inside the fixed drag/drop area. |
| Price Color, Price Background | Color picker, including transparency | Price badge. |
| Button Background, Button Background Hover, Button Text, Button Text Hover | Color picker, including transparency | Browse button states. |
| Close, Close Hover | Color picker, including transparency | Removable library-item close icon. |
| Item Background, Item Background Hover | Color picker, including transparency | Thumbnail holder and animated overlay. |
Add Shapes
Products Manager > Edit Product > Content > Add Shapes
Configure the shape library, default colors, permissions, pricing and thumbnail appearance.
Shape templates are created in Content > Add Shapes and embedded in the saved product settings, including their SVG data, prices, colors and permissions.
| Backend field | Available values | Description |
|---|---|---|
| Shape Templates | Visual template manager | Create, edit, delete and sort reusable shapes stored with this product. |
| Price | Number ≥ 0 | currency-free numeric string | Default price inherited by shape templates that have Use Default Price enabled. |
| Shape Price | Use Default Price | explicit number ≥ 0 | Use Default Price inherits the global Add Shapes price. Disable it to set an exact shape price. 0 makes that shape free. |
| Removable | On | Off | Default removal permission for shape-library entries. |
| Color Picker | On | Off | Allows the custom color picker. When false, preset swatches remain available. |
| Fill | Color picker, including transparency | no color | Default canvas shape fill. |
| Colors | Sortable color-swatch list, or no swatches | Default fill swatches for added shapes. Colors saved with an individual shape override this default palette. |
| Can Duplicate, Can Reset, Can Move, Can Rotate, Can Resize, Can Delete, Can Reorder | Each permission: On | Off | Default shape permissions. |
| Background, Item Fill, Item Background, Item Background Hover | Color picker, including transparency | Window, preview-shape fill and thumbnail states. |
| Price Color, Price Background, Close, Close Hover | Color picker, including transparency | Price and removable button states. |
Artwork Library
Products Manager > Edit Product > Content > Artwork Library
Configure categorized artwork, search behavior, object defaults, pricing and library appearance.
Artwork categories and items are managed in Content > Artwork Library and embedded in the saved product settings. Category order, item order and category membership are preserved.
| Backend field | Available values | Description |
|---|---|---|
| Artwork Items | Visual category manager | Create, edit, delete and sort artwork and its categories inside this product. |
| Search Placeholder, All Categories Label, Not Found Text | Strings, including empty strings | Search and category UI labels. |
| Price | Number ≥ 0 | currency-free numeric string | Default price inherited by artwork items that have Use Default Price enabled. |
| Artwork Price | Use Default Price | explicit number ≥ 0 | Use Default Price inherits the global Artwork Library price. Disable it to set an exact artwork price. 0 makes that artwork free. |
| Removable | On | Off | Default removal permission for artwork entries. |
| Color Picker | On | Off | Allows the custom color picker. When false, preset swatches remain available. |
| Colors | Sortable color-swatch list, or no swatches | Default tint/fill swatches for added artwork. Colors saved with an individual artwork item override this default palette. |
| Can Duplicate, Can Reset, Can Move, Can Rotate, Can Resize, Can Delete, Can Reorder | Each permission: On | Off | Default artwork permissions. |
| Background, Item Background, Item Background Hover | Color picker, including transparency | Window and artwork-card colors. |
| Price Color, Price Background, Close, Close Hover | Color picker, including transparency | Price and removal button states. |
| Search Background, Search Text, Search Border, Search Border Focus | Color picker, including transparency | Category search field. |
| Category Background, Category Background Hover, Category Text, Category Text Hover | Color picker, including transparency | Category buttons. |
Production tab
Configures preview downloads, file formats and the full-browser preview. Physical print sizes and crops are configured in each view.
Download and preview
Products Manager > Edit Product > Production > Download and Preview
Configure how customers preview the product and download the current view or all available views. See Download Preview for image dimensions, quality and the difference from production output.
Preview, Download Preview and Print offer a choice between 2D artwork and the 3D model. The 2D result shows the flat design. The 3D result shows the design on the model with its materials and lighting, using the corresponding view camera. Neither is a substitute for Download Production.
| Backend field | Available values | Description |
|---|---|---|
| Title, Text | Strings, including an empty string | Download dialog title and introduction. |
| Scope | All Views | Current View | Initially selected view scope. |
| All, Current | Non-empty strings | Scope button labels. |
| Maximum Width | Finite number ≥ 0 (CSS pixels) | Maximum download dialog width. |
| Background, Background Hover | Color picker, including transparency | Format/scope button normal and hover backgrounds. |
| Formats | Sortable PNG, JPG, SVG and PDF list | Add, remove and reorder the formats offered in the customer download window. |
| Overlay | Color picker, including transparency | Full-browser preview overlay. |
| Title, Item Text | Color picker, including transparency | Preview title and view label colors. |
| Item Background | Color picker, including transparency | View preview card background. |
| Close, Close Hover, Scrollbar | Color picker, including transparency | Close icon and responsive scrollbar colors. |
Working with Colors
Manage interface colors, product-layer fills and customer palettes visually in Products Manager. The WordPress color pickers support solid colors and transparency. Save the product after changing product settings and save the view after changing a layer.
This video shows the 2D edition. The shared WordPress interface and artwork controls also apply here. Use the GLB workflow above for 3D model setup. See the 2D documentation for that edition.
Interface theme
Products Manager > Edit Product > General, Interface, Content or Production
Color controls are grouped with the interface area they affect. Update the related normal, hover, selected and disabled states together to create a consistent theme.
Configure backgrounds, icons, labels, hover states, borders and selected controls.
Configure toolbar actions, sliders, selected-object controls, ruler colors and the canvas background.
Configure Text, Images, Shapes and Artwork window backgrounds, item states, prices and removal buttons.
Configure overlays, buttons, text, close controls, preview cards and responsive scrollbars.
Content palettes
Products Manager > Edit Product > Content
- Open Add Text, Add Images, Add Shapes or Artwork Library.
- Use Add Color to create preset swatches and drag them into the required order.
- Enable Color Picker when customers may choose colors outside the presets.
- Edit an individual template or library item when it needs its own palette.
- Click Update Product to save the library settings.
The first palette color is not applied automatically. Presets are choices for the customer, while the saved fill or tint remains active until another color is selected.
SVG and image colors
- SVG: editable fills stay sharp at every size. Multi-path files can retain their original colors while offering additional choices.
- White PNG: works as an accurate tint mask and displays the selected color cleanly.
- Shaded PNG: tinting can preserve dark shading and texture, but the result depends on the source pixels.
- JPG: use mainly for photographs because recoloring affects the complete rectangular image.
Upload source assets through the WordPress Media Library. Color selections are stored with the design element. The original media file is not modified.
Color precedence
| Priority | Source | Behavior |
|---|---|---|
| 1 | Saved view layer | The color stored on the current product-view element is used first. |
| 2 | Template or library item | An item-specific fill, tint or palette overrides its module default. |
| 3 | Content module | The Add Text, Images, Shapes or Artwork defaults apply to new items. |
| 4 | Product fallback | The general product setting is used when no more specific value exists. |
Content-template defaults affect newly added customer items. Existing layers in a saved view keep their own values. Select a layer in View Designer, change its color settings and click Save View when that layer itself must be updated.
Frontend Placement
Assignment metabox
Supported posts and pages receive an Iza 3D Product Designer & Product Builder Customizer metabox. Choose Product or Category, drag one or more selections into the active list and save the post. Non-WooCommerce assignments are appended automatically unless the same page contains an Iza shortcode.
WooCommerce products use a dedicated Enable Product Designer assignment and accept one Iza product. Variation assignments can override it. The shortcode generator is hidden for WooCommerce products because automatic product placement is the intended flow.
Shortcode
Use readable product or category titles, separated with | when several are needed:
[iza_3d_product_designer products="Shirt"]
[iza_3d_product_designer products="Shirt | Cap"]
[iza_3d_product_designer categories="Apparel | Mugs"]The designer is rendered exactly where the shortcode block appears. When a shortcode exists on a non-WooCommerce page, it takes precedence over automatic metabox output so the designer is not duplicated at the beginning or end of the content.
Multiple instances
Multiple shortcode blocks create independent holders and instances. Multiple assigned categories also initialize independently. Within one category instance, products share the Products module but each product loads its own views, libraries and UI configuration.
Automatic frontend loading
The plugin creates every frontend designer automatically after WordPress renders an assignment or shortcode. It prepares the product data, unique holder, media URLs, saved designs and WooCommerce integration before showing the editor.
Do not manually initialize another designer for the same holder. Use Products Manager, the assignment metabox or a shortcode to control what appears on the page.
Responsive layout
The designer measures its actual WordPress content container as well as the browser viewport. At compact sizes, module windows use the available editor area and selected-object tools move to a touch-friendly bottom layout.
- Set Maximum Width, Resize Width, Maximum Height and Minimum Height in the product's General tab.
- Use percentage dimensions when a lightbox should fill the available browser space.
- Choose Left or Bottom for the Modules position. Compact mode is selected automatically only when both the viewport and designer are small enough.
- Each view keeps its own canvas dimensions, while the outer designer scales to the page or WooCommerce product layout.
- Test the final page with the active theme because columns, galleries and page builders determine the real container width.
WooCommerce
Iza 3D Product Designer & Product Builder Customizer works with the normal WooCommerce product, variation, cart, checkout, payment, stock and order flow. WooCommerce remains responsible for selling the item, while Iza 3D Product Designer & Product Builder Customizer stores the customer customization and any configured design surcharge.
Product assignment
WooCommerce > Products > Edit Product > Iza 3D Product Designer & Product Builder Customizer
Enable Product Designer, then choose one Iza product for the WooCommerce product. The selected Iza product supplies the views, content libraries, interface settings and production data shown to the customer.
Controls whether the designer appears on this WooCommerce product.
Connects the WooCommerce item to the product configuration created in Products Manager.
Variations
WooCommerce > Products > Edit Variable Product > Variations
Each variation can use the product assigned to its parent or select another Iza product. The frontend switches the designer after WooCommerce resolves the selected variation and keeps a separate temporary design state for every variation.
Uses the Iza product selected in the main product assignment.
Loads a different designer product only when that variation is selected.
While the selector shows Choose an option, the designer previews the first variation's assigned product. This does not select a variation or prepare a cart design. Customers must choose a valid option before adding to cart. Clearing the selection returns to this preview. If no usable designer is available, a choose-options message is shown instead.
The variation must be enabled, purchasable and available according to its WooCommerce stock settings.
Placement and lightbox
Iza 3D Product Designer & Product Builder Customizer > Products Manager > Edit Product > WooCommerce
These controls determine where the designer appears on a WooCommerce product page. They do not change shortcode placement on normal WordPress pages.
Product-page placement
Selects the WooCommerce area where the inline designer is inserted.
Hides the normal WooCommerce gallery in inline or lightbox mode and lets the summary use the freed space. The Customize button and related-product images remain visible. Disabling the option or switching to an unassigned variation restores the gallery.
Lets the remaining product summary and designer use the width released by the hidden gallery.
WooCommerce lightbox
Iza 3D Product Designer & Product Builder Customizer > Products Manager > Edit Product > WooCommerce > Lightbox
Shows a Customize button and opens the existing designer in a full-browser overlay.
Places the Customize button in the selected WooCommerce product-summary location.
Updates the visible WooCommerce product image with the customized preview when the customer finishes.
Uses the normal WooCommerce add-to-cart action after the design has been prepared.
Closing the lightbox only hides it, so reopening it preserves the current edits. WooCommerce lightbox settings override the general display mode only on WooCommerce product pages.
Pricing
Iza 3D Product Designer & Product Builder Customizer > Products Manager > Edit Product > WooCommerce
The WooCommerce product or selected variation supplies the base price and store currency. Selected Build part prices and prices assigned to Base layers, text, images, shapes and artwork are added as design surcharges. Inactive alternatives and hidden or deleted layers are not charged, and the displayed WooCommerce price updates when the design changes.
Inside a view, each element thumbnail shows that element's own price. The view thumbnail shows the combined part and layer price, and a Build card adds those amounts across its parts. An additional view price of 10 with a Base layer priced at 100 shows 110 on its view thumbnail. The product base price is added only once to the final total. These badges are interface labels, not part of the artwork or production export.
Additional View Price is an optional surcharge on top of the view's element prices, not the price of the Base element or the whole Build option. Set it to 0 if element prices already cover the full charge. It is stored as group.price, so existing product files remain compatible.
Cart and checkout prices are calculated on the server from the assigned designer settings and the actual WooCommerce product or variation. Browser totals, element prices and Build part prices are not trusted. The server validates group identifiers and requires exactly one complete option per Build group, then reads prices from the assigned product. WooCommerce then applies quantities, coupons and taxes. Classic checkout, block checkout and restored carts use the same validation.
If a saved customization no longer matches its product or content library, the customer is asked to reopen the designer and add it again. Only designs attached to priced cart items are saved with the order.
When enabled, Build part and content surcharges are ignored and WooCommerce keeps its original product or variation price.
Use Default Price inherits the module price. When disabled, the item price overrides it, including 0 for a free item.
Cart and add-to-cart behavior
Iza 3D Product Designer & Product Builder Customizer > Products Manager > Edit Product > WooCommerce
Choose whether the browser keeps the current customized state or reloads the original saved product after WooCommerce completes add to cart.
Shows a transparent 3D preview of the customized model in classic carts, mini carts and WooCommerce cart blocks. The preview uses the camera visible when the customer adds the product and includes its artwork and materials. Its longest edge is 512 pixels. If capture is unavailable, WooCommerce keeps its normal product image.
Customer-uploaded images are saved to WordPress before the cart item is accepted, so later order viewing does not depend on temporary browser URLs. The plugin does not force AJAX, change redirects or replace the theme's normal purchasing flow.
Saved designs
Iza 3D Product Designer & Product Builder Customizer > Products Manager > Edit Product > Interface > Saved Designs
Saved designs use the WordPress database and are available only to logged-in customers. A successful save starts a ten-second countdown that prevents repeated submissions. Each record belongs to its WordPress user and includes a thumbnail and the complete editable product state.
The thumbnail captures the current 3D camera view. Build choices, materials and artwork are part of the saved design, not just the preview image. Opening a saved design restores its editable state. Reset uses that loaded design's initial state rather than replacing it with the catalog template.
WooCommerce Orders
Every customized cart item carries its own design snapshot into the WooCommerce order. Future changes made in Products Manager do not alter an existing customer's ordered design.
Design capture
Before WooCommerce creates the cart item, Iza 3D Product Designer & Product Builder Customizer prepares the current views, layers, selected product or variation, persistent uploaded images and preview information. WordPress validates this information and copies it into the final order item during checkout.
View customization
WooCommerce > Orders > Open an order
Find the customized product in the order items and click View Customization beneath that product. The full-browser window is titled Ordered Design and lets administrators inspect or adjust the saved views and layers without changing the original catalog product.
Orders created without a captured design cannot reconstruct one later and therefore do not show the View Customization button.
Order exports
Downloads the normal rendered product preview and respects each layer's Exclude From Export setting. Select a layer and open Layer Options to change it. Every layer stores globalParameters.excludeFromExport explicitly, with false as the default. Existing exclusion choices are preserved when loading or saving older products.
Crops to the printing box, applies physical size, DPI and bleed, and omits layers marked Exclude From Production Export.
Exports the ordered design snapshot and its referenced assets as a portable Iza product.
Editable Printing Box
The printing box marks the exact part of a product view that can be customized and sent to production. Create, size and position it visually in the View Designer.
1. Set the view, workspace and print area
Products Manager > Product > Views > Design > View Options
Open View Options before positioning the box. Set the physical View Surface Size, the Workspace Width and Height, and the Print Area Width and Height separately. Extra workspace around a mapped base does not enlarge the physical surface.
Enter the real finished size of the printable area, not the complete physical product.
Controls the raster resolution used by production downloads.
Adds extra printable space around every side of the production crop.
Set the room around the mapped surface without stretching artwork.
Sets the physical mapped-base size through view_width_mm and view_height_mm, saved as positive integers. Artwork scales with the base. Print-area size stays independent.
Fits the workspace to the mapped base.
Before importing a GLB: Create your model at its real-world size, use meters as the unit (70 cm = 0.7 m), and apply its scale before exporting the GLB. Check the measurements in View Options before using the design for printing.
2. Enable visual editing
View Designer > Canvas header > Edit Printing Box
Click Edit Printing Box in the canvas header. The printing box becomes selectable and its position and size fields appear. While editing is active, normal product layers cannot be selected accidentally.
The printing box remains visible and receives canvas interaction.
The box returns to its normal guide state and product layers can be selected again.
Physical views use the same unit as the ruler. Legacy print-only views retain pixel controls until their settings are saved.
The ruler and printing-box controls share the physical view scale.
3. Position, resize and save
- Select: click the printing box while Edit Printing Box is active.
- Move: drag it, change X and Y, or use the Arrow keys. Hold Shift for the configured larger step.
- Resize: drag a resize control or change Width and Height. Physical views allow independent crop width and height without changing the ruler scale.
- Type exact values: click X, Y, Width or Height in either viewport. Fields show whole numbers in the ruler unit for physically calibrated views, or pixels for legacy print-only views. Press Enter or leave the field to apply the value. Press Escape to cancel. Decimal entries are rounded on commit. Width and height must be positive. Rendering updates leave unfinished typing alone, and editing one field preserves the other dimensions.
- Center: enable Snap To Center when the box should align with the horizontal or vertical canvas center.
- Recover: if the box is released completely outside the canvas, it returns to the canvas center so it cannot be lost.
- Finish: turn off Edit Printing Box, click Save View, then update the product if the Update Product button is active.
Production Export
Production Export creates files for printing or manufacturing. It uses the printing box, physical print size, DPI and bleed saved in View Options, then renders only the layers intended for production.
Prepare a production view
Products Manager > Product > Views > Design > View Options
- Set the view and workspace: enter the real View Surface Size, then choose Workspace Width and Height or use Fit Workspace to Surface.
- Set the physical print size: enter the Print Area Width and Height supplied by the printer directly in View Options.
- Set DPI: use the resolution required by the print provider. A common high-quality value is 300.
- Set bleed: enter the extra millimeters requested around each edge, or use 0 when no bleed is required.
- Position the printing box: use Edit Printing Box in the View Designer and align it with the exact customizable area.
- Save the view: verify the crop visually, then save the view and update the product.
How the print area is measured
Defines the source crop. Stored coordinates can include fractions.
Physical crop dimensions derived from the mapped surface scale. These calculated dimensions can be fractional.
Determines how many pixels are generated for the physical print size.
Exports using the printing-box pixel dimensions without physical DPI scaling.
The physical view dimensions calibrate each crop axis independently. Resizing the crop updates its physical output size without changing the base or ruler scale. Only legacy print-only files retain the old ratio lock. Changing the displayed ruler unit does not change the saved physical dimensions.
For a physically configured view, the designer divides View Surface Size by the mapped surface's internal pixel size. It then uses that scale to measure the printing box:
Millimeters per pixel X = Surface Width in mm / Surface Width in canvas pixels
Millimeters per pixel Y = Surface Height in mm / Surface Height in canvas pixels
Print Width in mm = Printing Box Width * Millimeters per pixel X
Print Height in mm = Printing Box Height * Millimeters per pixel YThese are design coordinates, not screen pixels. Browser size, editor zoom, camera rotation and the size of the small viewport do not change this calculation. Older products without physical surface dimensions use their stored calibration or print-size settings instead.
For example, a 400 mm surface represented by 800 internal pixels has a horizontal scale of 0.5 mm per pixel. A printing box 400 pixels wide therefore measures 200 mm. Its height is calculated separately using the vertical scale.
How DPI becomes exported pixels
DPI sets the number of image pixels per inch of physical output. One inch is 25.4 mm. With DPI greater than zero, the raster file dimensions are calculated as follows:
Output Width in pixels = round((Print Width in mm + 2 * Bleed in mm) / 25.4 * DPI)
Output Height in pixels = round((Print Height in mm + 2 * Bleed in mm) / 25.4 * DPI)Bleed is added twice because it applies to both edges of each dimension. Each result is rounded to a whole pixel, with a minimum of one pixel.
| Print area | DPI | Bleed per edge | Exported size |
|---|---|---|---|
| 200 by 100 mm | 300 | 0 mm | 2362 by 1181 pixels |
| 200 by 100 mm | 300 | 3 mm | 2433 by 1252 pixels, covering 206 by 106 mm before pixel rounding |
The default DPI is 300 when no valid value is supplied. Setting DPI to 0 skips physical resolution scaling: the output uses the printing box's internal pixel dimensions, expanded by any bleed converted into canvas pixels. It does not produce a zero-size file.
Printing-box crop and bleed
Bleed expands the production crop beyond the printing box by the configured physical amount on every side. It does not resize or stretch the artwork inside the trim area.
The renderer converts bleed into the view's internal coordinates, moves the crop's top-left corner outward and expands its width and height. Moving the printing box changes which artwork is captured, not the file dimensions. Resizing it changes both the crop and its measured print size.
The production crop follows the printing box exactly.
The crop expands evenly around the printing box.
Areas outside irregular product artwork remain transparent unless an exportable background layer is present.
Formats without the same transparent-canvas behavior use white for empty areas.
How the PDF page size is calculated
Production PDF contains a rendered image for each exported view. With DPI greater than zero, its page size is calculated from the final image dimensions, including bleed. PDF uses 72 points per inch:
PDF Width in points = Output Width in pixels / DPI * 72
PDF Height in points = Output Height in pixels / DPI * 72This preserves the intended physical size, apart from the small rounding needed for whole image pixels. When printing the production PDF, use Actual Size or 100% in the PDF viewer, not Fit to Page. With DPI set to 0, image pixels are used directly as PDF points, so there is no calibrated millimeter page size.
For PNG and JPG, verify the pixel dimensions and set the intended resolution when importing into print software. An image viewer's reported DPI is not proof of the configured export size.
Download production files
Customers can use the Production Export action when it is included in the action bar. Administrators can open a customized WooCommerce order, click View Customization and use Download Production.
Best when transparent pixels must be preserved.
Best for opaque artwork when a smaller file is preferred.
Combines the generated production views into a PDF document.
Raster files are packaged together, while PDF combines the selected views.
Production validation checklist
- Confirm the saved View Surface Size, then check that Print Area Width and Height match the printer's real customizable area.
- Confirm that the printing box covers the intended product area and that its calculated physical dimensions match the required print size.
- Use source images large enough for the selected print size and DPI.
- Confirm the required bleed with the print provider.
- Mark bases, shadows and overlays as excluded from production output when they are only mockup layers.
- Download a production test and inspect the crop, transparency, dimensions and view order before publishing.
Product Data and Portability
Products are created and edited visually in Products Manager. WordPress stores the complete configuration and rebuilds it automatically when a product is displayed, duplicated, exported or imported.
What WordPress stores
Defines how the product is identified and initially opened.
Stores every product side or variation of the design surface.
Stores the model source, opening layout, texture quality, materials, lighting, controls and optional cloth movement.
Connects each view to its generated model target and UV surface, with individual camera, material, selection and ruler settings.
Retains all alternatives, their selected state, part prices and artwork-transfer settings.
Stores the objects created in each View Designer.
Stores the reusable items offered to customers.
Stores the product-specific customer interface and integration behavior.
Stores the data required to generate production files.
Product ZIP import and export
Iza 3D Product Designer & Product Builder Customizer > Products Manager
Use Export Product on a product thumbnail to create a portable ZIP containing the saved configuration and referenced assets. Use Import Product to create a new product from a compatible ZIP.
The archive keeps the product's interface, content-library and WooCommerce options, as well as its views, Build choices, prices, materials, cameras and artwork. Disabled switches, zero prices and intentionally empty libraries remain unchanged. Import creates a new Products Manager record, it does not copy WooCommerce product assignments or orders. Click Update to save the imported record.
Font files used by artwork and fonts explicitly stored with the product are packaged for reuse. PNG, JPEG, GIF, WebP, AVIF, BMP, ICO, SVG and self-contained GLB assets are supported. Imported files are validated, and SVG markup is sanitized before storage.
Collects the product configuration and only the media files referenced by that product.
Validates the archive, extracts supported assets, rewrites their URLs and adds the imported product to Products Manager.
Registers supported GLB, image and SVG assets as WordPress attachments.
Stores the assets permanently without adding entries to the WordPress Media Library.
Matching Media Library attachments are detected by file content and reused instead of duplicated.
The imported product remains an unsaved Products Manager change until Update is clicked.
Copies a bundled product into WordPress so it can be edited independently.
Views and layers
Use the Views area to add, edit, duplicate, delete and reorder product views. Open Design to add layers, arrange their order and configure each element through the Selected Element panel.
Layer titles, visibility, lock state, permissions, pricing, colors, transforms, bounding behavior and export exclusions are stored when the view is saved.
Shared layer permissions live in globalParameters. Properties specific to the flat canvas or model belong to parameters2D or parameters3D. Do not create a second global-parameters block at view level.
| Layer setting | Purpose |
|---|---|
excludeFromExport | Omits the layer from filtered preview downloads and the editable product ZIP. Leave it false on layers and structural Bases that must survive product export and import. |
excludeFromProductionExport | Omits the layer from production artwork. Bases used only as mockups normally enable this. A printable background, such as the business card Base, can leave it false. |
excludeFrom3DTexture | Keeps an ordinary layer out of the artwork painted on the model. The mapped Base is handled automatically and does not need this flag. |
boundingBoxMode | Controls the permitted artwork region, including clipping. This is shared by the flat design and its 3D texture, not a material or geometry setting. |
Content libraries
Products Manager > Product > Content
Add Text, Add Images, Add Shapes and Artwork Library are managed inside the selected product. Each library supports its relevant thumbnails, colors, prices, permissions, removable state and sorting.
0 for a free item. Items already added to a view keep the price captured when they were added.Saved designs and ordered designs
Customer saved designs and WooCommerce ordered customizations store complete snapshots. They remain independent from later product edits, allowing an administrator to reopen the exact customer state that was saved or purchased.
WordPress Workflows
Before publishing a 3D product
- Load the product from a fresh page. Check its Starting View, Starting Module and opening layout.
- Open every visible view. Confirm the camera, ruler units and physical dimensions, then check the print area.
- Add a small text or image near the center and edges of each editable surface. Check both windows for clipping, stretching or overlapping UVs.
- Try every Build choice. Check alignment, complete paired parts, transferred or independent artwork, and the total additional price.
- Check which parts allow color, material, reset, content editing and direct model selection. These are separate permissions.
- Test a narrow screen and fullscreen, including dialogs, tooltips, view switching and the module panel.
- Save and reopen a design. Export the product ZIP and import it as a separate test product to check its assets, fonts, materials and Build options.
- Download both a preview and production artwork. Confirm that bases and decorations are included or excluded as intended, and check the actual print size and bleed.
- For WooCommerce, use a staging site and test payment method. Add a customized product and a variation to the cart, check prices and thumbnails, then inspect View Customization on the resulting test order.
Product ZIP export
Use Export Product from Products Manager or the order viewer to create an editable ZIP containing the current product state and only its referenced assets.
Saved designs
Logged-in customers save designs to WordPress. Each database record contains its owner, title, timestamp, current 3D thumbnail and complete product snapshot, including selected Build parts. Saving a design does not place an order or reserve WooCommerce stock.
Keyboard Shortcuts
| Shortcut | Requirement | Action |
|---|---|---|
| Arrow keys | Movable object selected | Move by the configured normal movement step. |
| Shift + Arrow keys | Movable object selected | Large movement. |
| Shift + drag artwork | Movable object in an editable 2D or 3D view | Locks movement to the first horizontal or vertical direction of the drag. |
| Arrow keys | Editable printing box selected | Move the printing box by the configured canvas-pixel nudge amount. Physical inputs display the converted distance. |
| Ctrl/Cmd + Arrow keys | Editable printing box selected | Change crop width by the normal canvas-pixel nudge amount. Up/Right enlarge and Down/Left shrink. Height follows only for legacy print-only views. |
| Ctrl/Cmd + Shift + Arrow keys | Editable printing box selected | Change crop width using the configured large canvas-pixel step. Height follows only for legacy print-only views. |
| Alt + Left / Right | Rotatable object selected | Rotate by the normal configured step. |
| Shift + Alt + Left / Right | Rotatable object selected | Large rotation step. |
| Ctrl/Cmd + Up / Down | Resizable object selected | Uniform scale up/down. |
| Ctrl/Cmd + Left / Right | Resizable object selected | Scale X down/up. |
| Ctrl/Cmd + Shift + Up / Down | Resizable object selected | Scale Y up/down. |
| Delete / Backspace | Deletable object selected | Request object deletion. |
| Ctrl/Cmd + D | Duplicable object selected | Duplicate object. |
| Ctrl/Cmd + Z | History available | Undo. |
| Ctrl/Cmd + Y | Redo available | Redo. |
| Ctrl/Cmd + Shift + Z | Redo available | Redo. |
| Escape | Any editor mode | Close picker/toolbar mode and deselect the object. |
| Shift while rotating | Canvas rotate handle | Snap rotation in 90-degree increments. |
| Space + drag | Pointer inside editor and ruler visible | Temporarily disable object interaction and pan the zoomed canvas. |
| Space + mouse wheel | Pointer inside editor and ruler visible | Zoom the canvas. |
| Shift + drag empty canvas | Active 2D window, outside text editing | Pan the canvas. Shift over movable artwork keeps its constrained object-drag behavior instead. |
WordPress Developer Hooks
Normal plugin setup does not require code. Developers can use the available WordPress filters when the font catalogs need to be extended before they reach Products Manager.
Font catalog filters
add_filter('fwdi3dpd_google_webfonts', function($fonts){
// Add or modify Google font definitions.
return $fonts;
});
add_filter('fwdi3dpd_custom_fonts', function($fonts){
// Add or modify custom font-family definitions.
return $fonts;
});Use standard WordPress filter callbacks and return the updated font list. Product administrators can then select those fonts from the normal Fonts interface.
Storage and Security
Data locations
Stores product settings, 3D scene settings, view bindings and cameras, Build choices and prices, layers, libraries and category assignments.
Connects saved Iza products to pages, posts and WooCommerce products.
Stores the Iza product selected for each variation.
Stores each logged-in customer's private saved-design records.
Stores complete snapshots in uploads, with small references on WooCommerce order items.
Stores imported GLB models and their assets, custom fonts, customer uploads and generated previews.
Cart and order design storage
Complete WooCommerce design snapshots are stored under wp-content/uploads/fwdi3dpd-order-designs/. Sessions, cart items and order metadata keep small references, avoiding database packet-size limits without requiring customers to change their hosting settings. Prices are still validated on the server.
Older inline cart data is converted when the cart loads. Existing inline orders remain readable. Unused pending snapshots expire after seven days. Accepted cart and purchased design files are retained, including the data needed to reopen the order and download production artwork.
Include this directory and the database in site backups. Do not delete it as a cache. Uploads must be writable. Missing or unreadable design files block checkout with a message rather than producing an order without its customization.
Preview image storage
Saving product data stores newly captured product and view previews as image files in wp-content/uploads/fwdi3dpd-previews/. The database keeps their URLs instead of the full image data. This applies to every model and Build configuration, and avoids large preview images filling the catalog's database request.
- Unchanged preview: identical image bytes reuse the existing file. Repeated saves do not create duplicate copies.
- Changed preview: a new image file is created, and the successful save updates the product's reference to its URL.
- Existing image URL: the reference is kept. Saving does not download or copy that image again.
- Image quality: captured raster previews are not resized or recompressed when stored. Their original quality and transparency are preserved.
Returning from a view can refresh its previews and trigger a save. Capturing an image alone does not store it permanently. The files are written during the product save, not on every camera movement.
These generated preview files are not registered as Media Library attachments, so they do not appear in Media > Library. They are ordinary image files served by their URLs. This is separate from the Media Library choice shown when importing a product.
Old preview files are not deleted automatically when a preview changes or a product is removed. Files written before a failed database save may also remain and can be reused on retry. Do not delete this folder to clear space, as current products may still reference its images. Include it with the database and the rest of WordPress uploads in your site backups.
This behavior applies to administrator product and view previews. Customer Saved Designs, WooCommerce order snapshots and Download Preview have their own storage or download workflows.
Localization
Administrator and integration strings are translation-ready through standard WordPress language files. Product-defined labels can be edited directly in each product's settings.
Security
Administrative changes require the appropriate WordPress capability and verified requests. Uploaded files are validated and normalized before they are stored. Saved designs are restricted to their owner, while WooCommerce order customizations are available only to administrators who can edit shop orders.
Troubleshooting
| Problem | Check |
|---|---|
| Viewer is blank | Confirm the assigned product exists, contains a saved view, and that required media URLs load directly. Clear page/plugin/CDN caches. |
| Create Product rejects the GLB | Check that resources are embedded, geometry is uncompressed and textures are PNG or JPEG. Bake skinning, morphs and instances. Check file, mesh and vertex limits, and repair invalid geometry in the model editor. |
| Build choices are missing or rejected | Use unique Blender object names following group__option__part, with two underscores between identifiers. Each group needs at least two options and every option needs the same parts. Correct duplicate names and conflicting nested declarations in the GLB. |
| A part cannot accept text or images | Check Disable Content Editing. Appearance-only assemblies are intentionally restricted. Editable parts need usable UVs. Create Product does not generate an unwrap. |
| Artwork splits, repeats or stretches | Inspect the mesh UVs for seams, overlaps and stretched islands. Keep the generated Base and mapping aligned. A new SVG outline or higher texture resolution cannot repair the UV layout. |
| The model loads at the wrong angle | Check Starting View and that view's complete camera pose. Position the camera, click Use Current Camera, then Save View. Saving or returning to the views list without Use Current Camera keeps the previous saved pose. |
| A ruler overlaps a model part | Choose the appropriate Ruler Mode and add Top, Left or Right Ruler Spacing. Check the model's real-world scale. Screen spacing does not correct inaccurate physical dimensions. |
| Artwork is blurry or editing is slow | Check source-image resolution and texture settings. Use a lower interactive resolution with refinement after editing. Test geometry complexity, split layouts, shadows, cloth movement and expensive materials separately. |
| A part has no Material toolbar | Select the mapped surface, not a text or image layer. Check Materials Enabled and the configured available presets. Original retains the authored GLB finish. |
| A Build choice costs too much | The option price is the sum of all selected part prices. Do not charge the entire option amount on both the left and right parts. WooCommerce supplies the base price. |
| The product base appears in print output | Enable Exclude From Production Export on that Base layer. Exclude From Export controls preview downloads and is not the same option. Keep genuinely printable backgrounds included. |
| Designer is absent on a WooCommerce product | Enable Product Designer, select one Iza product, verify variation assignment/default availability, and check the selected Product Designer Position. |
| Shortcode appears in the wrong place | Use a Shortcode block containing the shortcode itself. Its presence suppresses automatic non-Woo metabox placement on that page. |
| Only one of several instances appears | Use separate shortcode blocks and unique generated holders. Avoid copying cached rendered HTML from another page. |
| HTTP font/image blocked on HTTPS | Set WordPress Address and Site Address to HTTPS, resave/reselect affected media, and clear caches containing old absolute URLs. |
| Uploaded image breaks in an order | Confirm WordPress uploads is writable and the prepare/upload request completes before add to cart. Order data must contain a persistent URL, never a browser-only blob: URL. |
| No View Customization button | The order item must come from a completed customized cart submission. Old or normal WooCommerce orders do not contain a recoverable design snapshot. |
| Production crop or aspect ratio is wrong | Verify View Surface Size against the mapped base, then check the print crop, its displayed physical dimensions, DPI and bleed. Legacy print-only files also require matching print and crop ratios. |
| Saved Designs says Log in to save | Confirm the frontend request carries the current WordPress login cookies and is not served from a cache created for logged-out visitors. |
| Theme styles alter buttons/icons | Clear minification caches and inspect theme rules with higher specificity. Do not duplicate plugin CSS or load an outdated bundled stylesheet. |
Support
For product assistance, configuration questions or technical support, email tibi@fwdapps.net or tibi_diablo@yahoo.com.
Include your Iza 3D Product Designer & Product Builder Customizer version, WordPress and WooCommerce versions, the affected page URL, and clear steps for reproducing the issue. Do not send administrator passwords or other sensitive credentials by email.