The mask is the asset
One capture, separated once, carries every finish the library holds. What the separation is worth, what the colour transform has to preserve, what the shipped frames measure, and what scales when the same pipeline runs across a catalogue.
Rev. Sep 2026 Source · 4 frames, 880 × 660 Build · Confidential
The shape
Six stages, and only one of them is expensive.
The shape is ordinary; where the cost sits is not. Separating the textile from its ground is slow, judgement heavy work, and it has to hold at the boundary: the pile edge, where the fibre is neither piece nor ground, and the shadow, which belongs to the scene rather than the object. After it, a finish is arithmetic inside a region. The expensive artifact is the mask and not the render, and the unit economics follow: the first finish costs what the separation costs and the twentieth costs almost nothing.
| Stage | Consumes | Emits | Artifact here |
|---|---|---|---|
| Capture | The woven piece | One frame | Yes, four |
| Mask | The frame | The textile region | No |
| Recolor | Region, yarn pair | One finish | Outputs only |
| Variants | One pair per finish | One render each | Yes, four |
| Review | The set | Approved or returned | No |
| Publish | Approved set | Renders with yarn codes | Yes, Fig. 04 |
The last column is the honest one. Two stages of this pipeline produce nothing a reader can be shown.
Registration
Nothing moves between finishes, and that is measurable.
A few pixels of drift between one finish and the next turns a strip into four photographs of four rugs, and a crossfade into a cut.
Each of the four shipped frames was reduced to a gradient magnitude image, which throws colour away and keeps only where the edges are, and every pair was cross correlated over a search window of plus or minus eight pixels in both axes. For all six pairs the best alignment is an offset of zero horizontally and zero vertically. The lattice, the knot noise and the pile edge sit on the same pixels in all four finishes.
What the colour has to keep
A recolor that holds the hue and drops the value drops the pattern.
Texture is the easy half: the loop structure and the shadow are luminance detail, and a transform that works inside the region rather than replacing it keeps them.
The hard half is the separation between the two yarns. The pattern reads as a drawn line only while the two sit far enough apart in value, and across the four shipped finishes that separation varies by a factor of four.
| Finish | Pattern | Ground | Mean | Spread |
|---|---|---|---|---|
| Oat | LI-UN06 | LI-UN15 | #D8CDB6 | 25.1 |
| Woad | LI-TL04 | LI-UN90 | #B3B5A7 | 48.1 |
| Char | LI-CH08 | LI-CH14 | #46463E | 13.4 |
| Chestnut | LI-GY04 | LI-BR15 | #926E52 | 11.3 |
Mean is the average colour of the 400 pixel crop; spread is the standard deviation of its luminance on a 0 to 255 scale. Yarn codes are the ones carried on the studio page, read off the same frames.
Woad’s lattice reads as line; Chestnut’s reads as texture, the pattern in the same pixels but no longer a drawing. Both were chosen. Value separation is a property of the yarn pair and not of the transform, so it is checked per finish rather than assumed once for the set.
Spread is a whole crop statistic, not a measurement of the two yarns separately. Separating them would need the mask, which is the artifact this document does not have.
Publish
What ships is a set, and the set carries its codes.
The output is not an image. It is a set of renders of one composition, one per finish, each carrying the yarn pair it was made from, which is what lets a product page and a configurator agree about what the reader is looking at.
Which is why a render here says what it is: the configurator’s declares the size pictured and the yarns shown, and the library’s detail card says in words when a macro has not been photographed. A pipeline that emits representations has to label them, or the first person to mistake one for a photograph is a customer.
The specification is the product-
Oat LI-UN06 / LI-UN15
-
Woad LI-TL04 / LI-UN90
-
Char LI-CH08 / LI-CH14
-
Chestnut LI-GY04 / LI-BR15
Across a catalogue
The mask is per composition. The finish is per yarn pair.
A finish is addressed by its yarn pair, not by a colourway name. Three of the four shipped frames carry a name; the fourth carries two codes and none, because it was picked slot by slot. A colourway is a preset over the pair and not a ceiling on the set.
All four frames are one composition, which is what the registration above proves: one separation, reused. A catalogue costs what its compositions cost, not what its finishes cost.
| One more | Costs | Shipped here |
|---|---|---|
| Finish | Arithmetic inside an existing mask | Four, pixel registered |
| Composition | A separation of its own | One |
| Colourway name | A preset over a pair that already works | Three of the four |
What scales with what, read off the four shipped frames.
No throughput figure appears on this page. An output cannot be timed, and one composition cannot demonstrate a second.
Not documented
Outputs are evidence. Everything upstream of them here is not.
| Not stated | Why |
|---|---|
| The mask itself | An alpha channel is not a picture |
| The tools and the transform used | No artifact of the step exists here |
| How many finishes the set could hold | Four shipped; the library size is not known |
| Time or cost per finish | Not measurable from an output |
| How many pairs the library allows | Its family headings fall outside the recorded crop |
| Behaviour on a second composition | One composition shipped |
| The review step | A person approving something leaves no frame |
Absent because the artifact does not carry it, not because it is confidential.