Three.js · parametric geometry · manufacturing output

A configurator whose output a factory could cut.

Most product configurators load a finished model and swap its colours. This one has no model: every vertex of the bag is derived from the five numbers on the right, in millimetres. The same numbers produce the cutting layout below it — real pieces, with seam allowances offset at a true distance, the way a pattern is actually made.

3D preview drag to orbit · scroll to zoom
stitch lines —
Parameters
Cutting layout · 1:1 in millimetres —
sewing line cutting line fold Every cutting-line point measured back to the sewing line.

What is actually happening

The bag is rebuilt from scratch on every parameter change — five panels, a hem band, stitch lines and two swept handle tubes, all positioned from millimetre values. No .glb, no loader, nothing authored in a 3D tool.

The cutting layout runs the same geometry through a polygon offset to add the seam allowance. It isn't decorative: the readout measures every point of every cutting line back to its sewing line, and reports the worst deviation. It reads 0.00 mm because the offset is built edge-normal-first rather than by pushing vertices along their bisectors — the difference, and why it matters, is in polygon-offset.

Three.js is vendored into this repository rather than pulled from a CDN, so the page has no external runtime dependency and renders the same in five years as it does today.