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

🥇 #1 · Undefasa · Azulejos La Morenica

Rajasthan Mate (Bone)

5.0 / 10 cross-img ΔE 14.46 2 product images Buyable ✓ Cross-image consistent
Format: 30×60 cm · Cross-image median LAB: [63.44, 3.04, 10.47] · Image type: room-render
Sales: 30.10 €/box ✓ · 1 box = 8 tiles = 1.44 m² (was 25.29 €/m², now 20.90 €/m²). 1 box covers our 5-tile need with 3 spares.
→ Open 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."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Rajasthan Mate (Bone)
Sampled color filled into the 4 replacement-tile mask polygons
🥈 #2 · Ceramicos.es

Triunfo · Natural

4.7 / 10 cross-img ΔE 14.44 5 product images Buyable ✓ Cross-image varies a lot
Format: 30×60 cm matte rectified · Cross-image median LAB: [62.58, 2.85, 9.87] · Image type: room-render
Sales: Box price visible · 1 box ≈ 1.00 m² (≈6 tiles). 1 box covers our 5-tile need with ~1 spare.
→ Open 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."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Triunfo · Natural
Sampled color filled into the 4 replacement-tile mask polygons
🥉 #3 · Azulejos Online

Coimbra · Beige

4.0 / 10 cross-img ΔE 16.77 3 product images Buyable ✓ Cross-image mixed
Format: 30×60 cm matte · Cross-image median LAB: [67.67, -0.92, 13.12] · Image type: room-render
Sales: 24.07 €/m² · per-m² via Azulejos Online · 5 images. Per-m² ordering — small qty workable.
→ Open product page
Color match: 2.0 Integration: 4.5 Realism: 6.5

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

All product images on the retailer page

Color composite (your bathroom)

Color composite of Coimbra · Beige
Sampled color filled into the 4 replacement-tile mask polygons
#4 · Atlas Concorde

Boost Pro · Clay

5.0 / 10 cross-img ΔE 14.54 13 product images Buyable ✓ Cross-image varies a lot
Format: 30×60 cm Matte rectified (9 mm Sensitech) · Cross-image median LAB: [63.32, 2.92, 10.29] · Image type: swatch
Sales: Italian premium · sold per m² via Spanish Atlas Concorde distributors (casa39, lineaselect, ionahome). Per-m² minimum is workable for our 5-tile job.
→ Open product page
Color match: 3.0 Integration: 5.5 Realism: 6.5

"The replaced tiles align reasonably with the scene, but their cooler gray tone differs noticeably from the surrounding beige tiles, making the edit visible."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Boost Pro · Clay
Sampled color filled into the 4 replacement-tile mask polygons
#5 · Cifre Cerámica

Neutra · Taupe

4.0 / 10 cross-img ΔE 17.18 2 product images Buyable ✓ Cross-image consistent
Format: 30×60 cm Matte natural · Cross-image median LAB: [46.2, 0.97, 6.92] · Image type: swatch
Sales: 18.69 €/m² (22.62 €/m² IVA inc) · per-m² via mytile.online · low stock. Per-m² ordering — buy 1 m² for our 5 tiles.
→ Open product page
Color match: 2.0 Integration: 4.0 Realism: 6.5

"The replaced tiles are geometrically plausible and somewhat photo-real, but their gray color/tone is clearly mismatched against the surrounding beige tiles, making the edit stand out."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Neutra · Taupe
Sampled color filled into the 4 replacement-tile mask polygons
#6 · Undefasa · Azulejos La Morenica

Nostalgia · Beige Terra

8.2 / 10 cross-img ΔE 17.18 3 product images Buyable ✓ Cross-image mixed
Format: 30×60 cm matte rectified · Cross-image median LAB: [65.09, 1.48, 8.58] · Image type: room-render
Sales: 22.60 €/m² · per-m² via Azulejos La Morenica · 12+ images. 1 m² minimum, suits 5-tile need with spares.
→ Open product page
Color match: 8.2 Integration: 8.0 Realism: 8.6

"The replaced tiles are close in tone and lighting, with only mild visible patchiness and grout/edge differences revealing the edit."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Nostalgia · Beige Terra
Sampled color filled into the 4 replacement-tile mask polygons
#7 · Pamesa

ES.Omnia · Noce

3.5 / 10 cross-img ΔE 18.49 5 product images Buyable ✓ Cross-image mixed
Format: 30×60 cm Matte rectified · Cross-image median LAB: [63.69, 1.86, 5.89] · Image type: swatch
Sales: Per-m² via paratureforma / dimora-shop · ~18.90 €/m² baseline. Per-m² ordering — small qty covers our 5-tile need.
→ Open product page
Color match: 1.5 Integration: 4.0 Realism: 5.0

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

All product images on the retailer page

Color composite (your bathroom)

Color composite of ES.Omnia · Noce
Sampled color filled into the 4 replacement-tile mask polygons
#8 · Ceramicos.es

Verity · Beige

8.6 / 10 cross-img ΔE 18.95 3 product images Buyable ✓ Cross-image mixed
Format: 30×60 cm rectified · Cross-image median LAB: [68.07, 3.02, 8.63] · Image type: room-render
Sales: Box price visible · 1 box ≈ 1.00 m² (≈6 tiles). 1 box covers our 5-tile need with ~1 spare.
→ Open 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."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Verity · Beige
Sampled color filled into the 4 replacement-tile mask polygons
#9 · Cifre Cerámica · Duritti

Arcata · Beige Antideslizante

8.3 / 10 cross-img ΔE 19.00 3 product images Buyable ✓ Cross-image consistent
Format: 30×60 cm matte (antislip C3, hammered finish) · Cross-image median LAB: [71.77, 7.0, 14.37] · Image type: swatch
Sales: 26.64 €/m² · per-m² via Duritti Cerámica · 38+ images on product page. 1 m² minimum is fine for our 5-tile need.
→ Open product page
Color match: 8.2 Integration: 8.0 Realism: 8.6

"The replaced tiles are close in tone and texture, with only slight differences in floor brightness and wall uniformity that make the edit mildly noticeable."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Arcata · Beige Antideslizante
Sampled color filled into the 4 replacement-tile mask polygons
#10 · Vives Cerámica

Duo · Beige (cement-effect)

5.6 / 10 cross-img ΔE 20.13 3 product images Buyable ✓ Cross-image consistent
Format: 30×60 cm matte porcelain (8.2 mm, non-rectified) · Cross-image median LAB: [72.19, 1.91, 12.72] · Image type: swatch
Sales: Spanish manufacturer (VIVES Cerámica) · per-m² · ~18-26 €/m² typical · 1+ box order acceptable. 1 box covers our 5-tile need — small qty workable.
→ Open product page
Color match: 4.0 Integration: 6.0 Realism: 7.0

"The replaced tiles are photorealistic and follow perspective/shadows reasonably well, but their cooler gray tone differs clearly from the surrounding beige tiles."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Duo · Beige (cement-effect)
Sampled color filled into the 4 replacement-tile mask polygons
#11 · Pamesa · Bigmat

Alpha · Beige

4.2 / 10 cross-img ΔE 24.50 2 product images Buyable ✓ Cross-image varies a lot
Format: 30×60 cm matte (1.26 m² / box) · Cross-image median LAB: [73.64, -1.04, 7.65] · Image type: room-render
Sales: 27.15 €/m² · per-m² via Bigmat · 1 box covers our 5-tile need. 1 box (1.26 m²) covers our 5-tile job.
→ Open product page
Color match: 2.0 Integration: 5.0 Realism: 6.0

"The replaced tiles follow the scene geometry and lighting reasonably well, but their cool gray-green color strongly mismatches the surrounding warm beige bathroom tiles."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Alpha · Beige
Sampled color filled into the 4 replacement-tile mask polygons
#12 · Azulejos Online

Budapest · 30x60

3.5 / 10 cross-img ΔE 29.46 4 product images Sales unclear Cross-image varies a lot
Format: 30×60 cm · Cross-image median LAB: [74.1, 0.52, 0.15] · Image type: room-render
Sales: Price range 22.32€ – 932.91€ (ambiguous structure). Verify minimum at checkout before ordering.
→ Open 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."

All product images on the retailer page

Color composite (your bathroom)

Color composite of Budapest · 30x60
Sampled color filled into the 4 replacement-tile mask polygons
Manually rejected after audit:
  • Davos · Beige (Pamesa, ΔE 3.54) — User rejected after audit — sample biased (lit room render) and the actual tile looks notably paler/cooler than our composite suggests. [product page]
  • Mojácar · Cuero (leather/honey) (Vives Cerámica, ΔE 9.92) — User rejected — clearly terracotta/orange-pink leather tone, not the neutral warm beige of the existing tile. The pipeline's ΔE was misleading on this one. [product page]
Dropped — only a single isolated tile photo on the product page (no multiple views to verify):
  • Olimpo · Tabaco (Mundoceramicas, original-pipeline ΔE 15.51) — Only one unique image on retailer page (insufficient evidence). [product page]
  • Eleganza · Terra (Pamesa, original-pipeline ΔE 7.74) — Only one unique image on retailer page (insufficient evidence). [product page]
Also evaluated, filtered out (ΔE > 22, 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
  • ES.Omnia Sand 30x60 Matte (Pamesa) — sampled #bcb0a2, ΔE 22.4: warm greige beige with subtle taupe mottling
  • Capri Dark Mate (Argenta) — sampled #6f6b6a, ΔE 22.5: medium charcoal gray with subtle warm gray mottling and thin light gray veining
  • 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
  • Corten A 30x60 Rect Matte (Tau Cerámica) — sampled #60534c, ΔE 23.7: oxidized rusty brown with dark charcoal gray and muted bluish-gray mottling
  • Boost Pro Tobacco 30x60 Matte (Atlas Concorde) — sampled #5a5148, ΔE 24.5: dark warm gray taupe with subtle mottled stone/concrete variation
  • 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
  • Paris Natural 30x60 Matte (Vives Cerámica) — sampled #cfbfac, ΔE 25.9: warm light beige with subtle gray-taupe stone veining
  • Esedra Pergamo 30x60 Matte (Naxos) — sampled #c7bfb0, ΔE 27.0: light warm gray greige stone-look with beige variation
  • Sable · Beige (cement-effect) (Ceramica Sant'Agostino · Casa39) — sampled #d3c2b0, ΔE 27.1: warm light beige with subtle taupe speckling
  • Serie Lomma Beige (La Casa de los Azulejos) — sampled #c4bcb2, ΔE 27.4: light warm greige-gray concrete/stone look, matte with subtle speckling
  • Logico · Sand (cement-effect) (Ceramica Sant'Agostino · Casa39) — sampled #d6c5af, ΔE 27.4: warm light beige with subtle mottled stone-like texture
  • Lambda 30x60 (Vives Cerámica) — sampled #bbb8b1, ΔE 27.5: light warm gray marble-look with off-white areas and soft beige-gray veining
  • Riven Out Dark C3 (Argenta) — sampled #5c5d5f, ΔE 27.7: dark charcoal gray with subtle concrete mottling
  • Travertino Beige (iTileMosaic · Estima) — sampled #cfc5b0, ΔE 27.7: light warm beige with cream/tan stone-like veining
  • Cementum · Sand (BodyPlus through-body cement) (Marazzi · Casa39) — sampled #cdc5b3, ΔE 28.3: warm light greige beige with subtle gray mottling
  • Esedra Efeso 30x60 Matte (Naxos) — sampled #b4b3b2, ΔE 28.4: light warm gray concrete with beige taupe mottling
  • 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
  • Aspen Beige Antideslizante (Interazulejo) — sampled #e2cab1, ΔE 29.0: warm beige and taupe-gray stone-look with muted cream veining
  • Crema Marfil Mate (TilesOnline.es) — sampled #d9cab7, ΔE 29.7: warm light beige with subtle stone-like mottling
  • Mystone Limestone Sand 30x60 Matte (Marazzi) — sampled #ddccb5, ΔE 29.7: warm light beige with subtle stone 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
  • ES.Omnia Beige 30x60 Matte (Pamesa) — sampled #d3c9bf, ΔE 31.3: warm light greige beige
  • Siena Toscano 30x60 Matte (Argenta) — sampled #e0d5c1, ΔE 33.2: warm ivory beige with light taupe travertine-like veining
  • Chicago 30x60 (Vives Cerámica) — sampled #cecdcb, ΔE 35.1: light warm gray greige stone/concrete look
  • Madox Arena Mate Rect 30x60 (Halcón Cerámicas) — sampled #e1daca, ΔE 35.6: warm light beige with subtle greige mottling
  • Filo Beige Natural (Apavisa) — sampled #e1d8cd, ΔE 35.9: light beige cream with pale tan and white linear streaks
  • Olimpo Tabaco Mate (Azulejos Online) — sampled #d5d6d1, ΔE 37.0: pale cool light gray-white marble look with soft gray veining
  • Olimpo Beige Mate (Azulejos Online) — sampled #d8d9d4, ΔE 37.9: pale cool white/light gray marble with soft gray veining
  • Mystone Berici Beige 30x60 Matte (Marazzi) — sampled #e8e1d3, ΔE 38.3: light warm beige/cream with subtle mottled stone texture
  • World Flysch Beige 30x60 Matte (Vives Cerámica) — sampled #f3e4d0, ΔE 38.4: light warm beige/cream marble-look with subtle tan veining
  • Boost Natural Pro · Sand (cement-effect, Brioni 2024) (Atlas Concorde) — sampled #f5e6d3, ΔE 39.2: warm light beige/cream ivory
  • Ground · Arena (cement-effect) (Geotiles · MyTile) — sampled #e5e0d9, ΔE 39.4: warm off-white light beige/greige with subtle mottling
  • Bali Beige 30x60 Matte (Vives Cerámica) — sampled #ede3da, ΔE 39.9: warm light beige with subtle gray-tan mottling
  • 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
  • Falcon Beige 30x60 Matte (Argenta) — sampled #ede8e1, ΔE 42.0: warm off-white to light beige with subtle gray-tan stone veining
  • Esedra Olimpia 30x60 Matte (Naxos) — sampled #ecebe3, ΔE 42.8: warm off-white cream with pale beige-gray mottling
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.