FRENAR
N°27 · Canvas 2D · Generative Workshop

Data Rug Workshop

Create your own weave. Seed, palette, density, shuttle — all parameters in your hands. Each combination produces a unique textile that has never existed before.

adjust all parameters · export your rug
// Data Rug paramétrable — le tissage comme signature
const PALETTES = [
  ['#b8863b','#e9d9b0','#a2432f','#7a3d18'],  // Terre
  ['#1a5276','#d4e6f1','#154360','#85c1e9'],  // Bleu
  ['#c8f135','#0a0a0a','#3a3a3a','#9a9a9a'],  // Digital
  ['#b8863b','#1a5276','#c8f135','#a2432f'],  // Fusion
];

function weaveRow(y, rand, palette, density) {
  const period = 3 + Math.floor(rand() * 5);
  for (let x = 0; x < cols; x++) {
    const inMotif = (x % period) < period * density;
    const color = inMotif
      ? palette[Math.floor(rand() * palette.length)]
      : fieldColor;
    drawCell(x, y, color);
  }
}

// La navette (shuttle) — le trait lime horizontal qui traverse
if (rand() < shuttleFreq) {
  ctx.fillStyle = '#c8f135';
  ctx.fillRect(0, y * cellH, W, 1);
}
Your turn

What seed produces the most harmonious pattern with the earth-tone palette? Find the density setting where the weave pattern is still clearly legible at thumbnail size.

Weave your own data textile — join the workshop

Book a session