// app/gite-shapes.jsx — Polygones des 9 gîtes tracés sur plan-gites.png
// Coordonnées en % (0-100) de la largeur/hauteur de l'image.
// Tracés à l'œil — affinables ensemble en testant.

const GITE_SHAPES = {
  // Rectangles calqués sur les boîtes noires tracées par les mariés
  // 1. Fournil — bâtiment bas-droite avec tour conique
  fournil: [
    [72, 55], [98, 55], [98, 80], [72, 80],
  ],
  // 2. Pigeonnier — bande étroite milieu-droite (top remonté de 15% de sa hauteur)
  pigeonnier: [
    [75, 37], [99, 37], [99, 45], [75, 45],
  ],
  // 3. Remise — bas agrandi de 10%, côté droit réduit de 10%
  remise: [
    [72, 24], [91, 24], [91, 34], [72, 34],
  ],
  // 4. Tilbury — côté droit réduit de 15%, descendu de 7% de sa hauteur
  tilbury: [
    [72, 15], [89, 15], [89, 25], [72, 25],
  ],
  // 5. Roseraie — décalé de 20% à droite, côté gauche réduit de 15%
  roseraie: [
    [51, 12], [68, 12], [68, 23], [51, 23],
  ],
  // 6. Tuilerie — taille inchangée, remonté de 30% de sa hauteur
  tuilerie: [
    [3, 42], [22, 42], [22, 70], [3, 70],
  ],
  // 7. Évêque — tour centrale élancée
  eveque: [
    [32, 24], [52, 24], [52, 53], [32, 53],
  ],
  // 9. Pressoir — réduit de 25%, même centre
  pressoir: [
    [5, 27], [20, 27], [20, 47], [5, 47],
  ],
  // 10. Marion — décalé de 20% à gauche, même ligne
  marion: [
    [34, 52], [49, 52], [49, 62], [34, 62],
  ],
};

// Centre approximatif (pour callout / pulse) — moyenne pondérée
function shapeCenter(pts) {
  const x = pts.reduce((s, p) => s + p[0], 0) / pts.length;
  const y = pts.reduce((s, p) => s + p[1], 0) / pts.length;
  return [x, y];
}

const GITE_CENTERS = Object.fromEntries(
  Object.entries(GITE_SHAPES).map(([id, pts]) => [id, shapeCenter(pts)])
);

Object.assign(window, { GITE_SHAPES, GITE_CENTERS });
