Understanding the Patterns Module
Patterns are tiled overlays that your customers apply to individual color zones on a garment. Unlike designs — which define the overall garment template — patterns are decorative textures layered on top of zone colors
What Is a Pattern?
A pattern in Konfiwear is an SVG file that tiles across a zone on the garment. When a customer selects a pattern for a zone (e.g., the sleeves), the SVG repeats across that zone's shape with configurable scale, rotation, and opacity. Customers can also recolor individual fills within the SVG to match their brand palette.
Patterns are lightweight assets compared to designs. Each pattern has just a few properties:
Property | Description |
Name | Display name shown in the dashboard and the customizer's pattern selector |
Image URL | The SVG file URL — this is the tintable pattern asset |
Enabled | Controls whether the pattern is visible to customers in the customizer |
💡 Tip: Patterns are separate from the base design SVG and from the product's base pattern texture. The base pattern (in the product's assets) is a static texture baked into the garment model. Customizer patterns are interactive overlays that customers choose and configure.
How Patterns Work in the Customizer
When a customer opens the customizer, the Patterns panel lets them apply patterns zone-by-zone. Here's the flow:
The customer selects a zone (e.g., primary, secondary, sleeves) from the zone selector
They browse the pattern grid and click a pattern thumbnail to apply it
The pattern SVG tiles across the zone's exact shape — following contours, not just a bounding box
Controls appear for fine-tuning:
Scale — how large each tile renders (0.25× to 4.0×)
Rotation — tile angle from 0° to 360°
Opacity — how much the zone's base color shows through (0% to 100%)
Per-fill color pickers — each unique fill color in the SVG can be remapped to a different color
The result renders in real time on both the 2D canvas and the 3D model
⚠️ Important: Pattern overlays sit above the zone's base color or gradient fill. At full opacity, the pattern covers the zone color entirely. At lower opacities, the base color shows through the pattern's transparent areas. Colors and patterns are independent — changing a zone's color does not affect its pattern, and vice versa.
Patterns vs. Designs vs. Graphics
These three concepts are distinct in Konfiwear:
Concept | What It Is | Scope |
Design | A full garment SVG template that defines all editable zones | Applies to the entire product |
Pattern | A tiled SVG overlay applied to individual zones | Applies per-zone, on top of the design |
Graphic | A placeable element (logo, badge, text) positioned freely or in fixed slots | Sits above patterns in the layer order |
Layer order from bottom to top: Zone base color → Pattern overlay → Freeform graphics
Navigating the Patterns Module
The Patterns List
Navigate to Patterns under the Customizer section in your account sidebar. The list page shows all your patterns in a data table with:
Search by pattern name
Status filter (Enabled / Disabled)
Column sorting and pagination (10 per page)
Create dialog — add a new pattern directly from the list
Row actions — Edit (open detail page), Copy ID, Delete
Caption: The Patterns list page with search, status filter, and pattern rows.
The Pattern Detail Page
Click any pattern to open a two-column detail view:
Left column — Pattern info card with inline editing for name, image URL, and enabled status
Right column — SVG preview card showing the pattern rendered at its natural aspect ratio
Each field on the info card opens a modal dialog for editing and saves via the update action.
Caption: The pattern detail page with editable info and a live SVG preview.
Pattern Categories
The Patterns module supports category assignments through a pattern_categories join table. Categories let you organize patterns into groups (e.g., "Stripes", "Geometric", "Camo", "Abstract") that can be used for filtering in the customizer.
💡 Tip: Category assignment UI is planned for a future update. Currently, category relationships can be managed via the database. The customizer's pattern panel already supports filtering by category when the data is present.
SVG Requirements for Patterns
For patterns to render correctly in the customizer, your SVGs should follow these guidelines:
Requirement | Detail |
Format | Standard SVG ( |
ViewBox | Include a |
Fill colors | Use distinct hex fill values for areas you want customers to recolor. The customizer extracts all unique fills from the SVG and presents them as editable color swatches. |
Width/Height | Optional but recommended. If missing, Konfiwear injects dimensions from the viewBox automatically. |
Tileability | Design your SVGs to tile seamlessly — the pattern repeats infinitely in both directions across the zone shape. |
Flat structure | Avoid deeply nested |
⚠️ Important: The customizer detects fill colors using both fill="..." attributes and fill: ... CSS styles in the SVG. Make sure your fills use hex values (e.g., #FF5500) for reliable detection and recoloring.
How Patterns Connect to Other Modules
Module | Relationship |
Designs | The design's SVG defines the zones. Pattern overlays are applied per-zone after a design is selected. Changing the design reloads all zones and clears active patterns. |
Colors | Patterns sit above zone colors. The base color shows through at reduced pattern opacity. Colors and patterns are controlled independently. |
Products | Products can enable or disable pattern support via the customizer configuration. If patterns are disabled for a product, the Patterns panel doesn't appear. |
Quotes | The selected patterns (with scale, rotation, opacity, and color remaps) are captured in the quote configuration when the customer submits. |
Categories | Patterns can be assigned to categories for filtering in the customizer's pattern panel. |
Delete Behavior
Deleting a pattern is a hard delete — the record and any associated category assignments are permanently removed. There is no soft-delete or recovery option.
⚠️ Important: Before deleting a pattern, consider disabling it instead. Disabled patterns are hidden from the customizer but retain their configuration in case you need them later.
Tips & Best Practices
Name patterns descriptively — "Diagonal Stripes - Thick" is far more useful than "Pattern 001" for both your team and customers browsing the grid
Test tileability — open the customizer and apply the pattern to a large zone at 1× scale to check for visible seam lines
Use 3–5 distinct fills in your SVG for maximum customer flexibility — too many fills create a cluttered recoloring interface
Disable rather than delete — you can always re-enable a pattern if a client requests it
Pair with a good preview — the image URL is also the rendered preview, so make sure your SVG looks clear at thumbnail size