Chapter 1

Bidet Removal

Removing the existing bidet to free up floor space.

Source photos

Original state — Roca bidet in place. Walls and floor are 30×60 cm matte warm-beige tiles, same SKU on both surfaces.

Bidet — front view
Front view
Bidet — side view
Side view (3/4)

Replacement scope

Four tiles to replace — bidet removed, replacement zones overlaid in color. Tiles 1 & 2 are the back wall above the bidet's former position; tiles 3 & 4 are the floor in front of the corner. These exact polygons drive every FLUX mockup below (mask coordinates in scripts/regions-side.json).

Bathroom corner with bidet removed and 4 replacement tiles highlighted in color
Replacement zones — 4 tiles overlaid on the bidet-removed image

Tile replacement candidates

30 candidate tiles researched across Spanish online retailers (ceramicos.es, paratureforma, azulejoslamorenica, vivesceramica, apavisa, attmosferas, kharmaco, dimora-shop, latiendadelazulejo, tilesonline, azulejos.online, adrihosan, azulrec, mytile, heytiles, itilemosaic, baldosasceramicas, fliesenverkauf, keramikfliesen, carreauxceramique). Each product page fetched via Playwright (real Chromium), then Codex vision identifies the cleanest tile region within each image (avoiding being misled by furniture in room renders), samples it in CIE-LAB, and filters by ΔE distance from your existing tile.

Pipeline: Vision-validate each product image (catalog/swatch/room-render) → crop to identified tile region → sample median LAB → ΔE vs your existing tile (#977e5d). Candidates above ΔE 22 dropped. Survivors color-composited into the 4 mask polygons, then re-scored by Codex on color match, integration, and realism. Result: 7 of 30 candidates (23%) passed; 21 were too pale, cool, or grey vs. your warm-dark beige.
🥇 #1 · Argenta · Para Tu Reforma

Noura Collection 9.4 / 10 ΔE 11.01

Sample color: #b3997d · Validated as: room-render · Tile description: warm beige/tan stone-look with subtle cream and honey veining
View product page →
Color match: 9.4 Integration: 9.2 Realism: 9.5

"The replaced tiles match the surrounding beige tone, grout alignment, lighting, and surface texture very closely with only minor subtle differences in cleanliness and shading."

Color composite of Noura Collection
Color-faithful composite — bathroom with Noura Collection in 4 replacement tiles
🥈 #2 · Pamesa

Davos Beige 9.1 / 10 ΔE 3.54

Sample color: #9f805c · Validated as: room-render · Tile description: warm light beige-tan wood look with subtle honey grain
View product page →
Color match: 9.1 Integration: 9.0 Realism: 9.3

"The replaced tiles match the surrounding beige tone and lighting very closely, with only minor texture and grout-line differences visible on close inspection."

Color composite of Davos Beige
Color-faithful composite — bathroom with Davos Beige in 4 replacement tiles
🥉 #3 · Vives Cerámica

Mojácar Cuero 9.1 / 10 ΔE 9.92

Sample color: #ac927b · Validated as: room-render · Tile description: warm terracotta tan with peach-beige variation
View product page →
Color match: 9.1 Integration: 9.0 Realism: 9.2

"The replaced tiles closely match the beige tone, grout alignment, lighting, dirt, and shadows, with only very subtle texture/cleanliness differences visible on close inspection."

Color composite of Mojácar Cuero
Color-faithful composite — bathroom with Mojácar Cuero in 4 replacement tiles
#4 · Ceramicos.es

Verity Beige 8.6 / 10 ΔE 16.99

Sample color: #bda890 · Validated as: room-render · Tile description: warm light beige greige stone-look with subtle mottling
View product page →
Color match: 8.6 Integration: 8.4 Realism: 8.8

"The replaced tiles are very close in tone and texture, with only slight color/edge consistency differences visible on the lower wall and floor areas."

Color composite of Verity Beige
Color-faithful composite — bathroom with Verity Beige in 4 replacement tiles
#5 · Undefasa · Azulejos La Morenica

Rajasthan Mate 5.0 / 10 ΔE 17.99

Sample color: #b4a594 · Validated as: room-render · Tile description: warm beige/tan stone-look with gray veining
View product page →
Color match: 3.0 Integration: 5.5 Realism: 6.5

"The replacement tiles are much grayer and cooler than the surrounding beige tiles, though the perspective and lighting are mostly plausible."

Color composite of Rajasthan Mate
Color-faithful composite — bathroom with Rajasthan Mate in 4 replacement tiles
#6 · Ceramicos.es

Triunfo Natural 4.7 / 10 ΔE 15.37

Sample color: #ac9a8b · Validated as: room-render · Tile description: warm beige greige stone-look with subtle taupe variation
View product page →
Color match: 3.0 Integration: 5.0 Realism: 6.0

"The replaced tiles are much grayer and cooler than the surrounding beige tiles, though perspective, grout alignment, and lighting are moderately believable."

Color composite of Triunfo Natural
Color-faithful composite — bathroom with Triunfo Natural in 4 replacement tiles
#7 · Azulejos Online

Budapest 30x60 3.5 / 10 ΔE 21.57

Sample color: #8d8d8b · Validated as: room-render · Tile description: medium warm gray concrete-look tile
View product page →
Color match: 2.0 Integration: 4.0 Realism: 5.0

"The replaced tiles are much cooler gray than the surrounding beige tiles, though perspective and shadow placement are moderately believable."

Color composite of Budapest 30x60
Color-faithful composite — bathroom with Budapest 30x60 in 4 replacement tiles
Also evaluated, filtered out (ΔE > 18, perceptually too different):
  • Caliope Beige (Ceramicos.es) — sampled #817e77, ΔE 18.1: dark charcoal gray slate look with rusty tan/gold patches and light gray veining
  • Olimpia Mate Beige (Undefasa · Azulejos La Morenica) — sampled #b4a697, ΔE 19.0: warm light greige beige stone-look with subtle taupe mottling
  • Elementi Beige (Ceramicos.es) — sampled #bfae9e, ΔE 21.0: warm light beige greige stone-look matte tile
  • Street Beige 30x60 (Adrihosan) — sampled #aeaaa1, ΔE 23.0: warm light gray greige with subtle mottled stone variation
  • Bodo 30x60 (Alaplana · Azulrec) — sampled #bfb6a5, ΔE 23.6: warm light taupe-beige with subtle cream marble veining
  • Rhin 30x60 (Azulejos Online) — sampled #98989b, ΔE 25.0: light cool gray, concrete-like mottled porcelain
  • Ulisse Beige (Ceramicos.es) — sampled #c6b9ad, ΔE 25.7: warm light beige greige stone-look with subtle speckling
  • Serie Bodo Beige (La Casa de los Azulejos) — sampled #b1aeaa, ΔE 25.9: warm light gray stone-look with subtle white veining
  • Serie Lomma Beige (La Casa de los Azulejos) — sampled #c4bcb2, ΔE 27.4: light warm greige-gray concrete/stone look, matte with subtle speckling
  • Lambda 30x60 (Vives Cerámica) — sampled #bbb8b1, ΔE 27.5: light warm gray marble-look with off-white areas and soft beige-gray veining
  • Travertino Beige (iTileMosaic · Estima) — sampled #cfc5b0, ΔE 27.7: light warm beige with cream/tan stone-like veining
  • Eleganza Beige (Dimora · Pamesa) — sampled #ccc3b5, ΔE 28.5: light warm greige beige with subtle cloudy stone variation
  • Pulse Antique Beige (Ceramicos.es) — sampled #d6c5b6, ΔE 28.8: warm light beige-gray stone with subtle taupe variation
  • Crema Marfil Mate (TilesOnline.es) — sampled #d9cab7, ΔE 29.7: warm light beige with subtle stone-like mottling
  • Canyon Beige (Kharma) — sampled #c7c3b9, ΔE 29.7: light warm greige beige with tan marble-like veining
  • Interior Beige (Saloni) — sampled #cfc7bd, ΔE 30.8: light warm greige beige with subtle stone mottling
  • Flax Cream (Ceramicos.es) — sampled #d0cabe, ΔE 31.3: warm light greige beige stone-look
  • Filo Beige Natural (Apavisa) — sampled #e1d8cd, ΔE 35.9: light beige cream with pale tan and white linear streaks
  • Olimpo Beige Mate (Azulejos Online) — sampled #d8d9d4, ΔE 37.9: pale cool white/light gray marble with soft gray veining
  • Titanio Beige (TileFly · STN) — sampled #f0e8da, ΔE 40.6: warm light beige with subtle cream-gray mottling
  • Weekend Arena (Roca Tiles) — sampled #e7e1e1, ΔE 41.4: very light warm gray with subtle mottled speckling
Sourcing & evaluation pipeline:
  1. Discover — search Leroy Merlin / ARTENS catalog and aggregators for 30×60 cm matte beige tiles.
  2. Pre-screen by color — sample dominant color of each candidate's product image, compute LAB ΔE distance to the existing bathroom tile, drop anything with ΔE > 12 (perceptually different).
  3. FLUX mockup — run only the color-passing candidates through the supervised inpaint pipeline (4 tile polygons defined in scripts/regions-side.json).
  4. Reviewer score — Codex (GPT-5.5 vision) rates each mockup 0-10 on color match, integration, and realism vs. the bathroom.
  5. Box logistics — 1 box = 1.08 m² = 6 tiles. Our 4 tiles fit with 2 spares for breakage. Walk-in confirmation at a Barcelona Leroy Merlin store before purchase.