{
  "_meta": {
    "description": "Catalogue technique des assets isométriques Capital Valley — dimensions, ancrage, couleurs et orientation (porte/fenêtres) pour positionnement en CSS/HTML par Claude Code.",
    "units": "px (pixels réels du fichier source, mesurés programmatiquement)",
    "coordinate_note": "content_bbox_px = [x0,y0,x1,y1] boîte englobante du contenu visible (fond blanc détouré, PAS de transparence alpha réelle — tous les PNG ont alpha=255 partout).",
    "anchor_convention": "anchor_px = point bas-centre de la bbox de contenu. À utiliser comme point d'ancrage pour aligner le sprite sur le point avant (bas) de la tuile losange isométrique.",
    "tile_reference": "Tuiles de sol (Tile_Water/Dirt/Grass/Asfalt) mesurées à ~512-513px de large pour ~448-459px de haut (ratio ~1.14, PAS un ratio 2:1 pur — la forme est un hexagone aplati, pas un losange parfait). Utiliser ces valeurs mesurées plutôt qu'une grille iso 2:1 théorique.",
    "orientation_convention": "'left'/'right' désignent les deux faces visibles du bâtiment telles que dessinées à l'écran (face gauche = versant bas-gauche du losange, face droite = versant bas-droite). Ces valeurs sont issues d'une lecture visuelle des sprites (best-effort), pas d'une détection automatique — à vérifier visuellement dans Claude Code avant de finaliser le placement le long des routes.",
    "IMPORTANT_no_mirroring": "Les sprites NE DOIVENT PAS être retournés horizontalement (transform: scaleX(-1)) pour changer l'orientation porte/fenêtres : les sprites utilisent des ombres portées à décalage fixe (lumière directionnelle baked-in dans l'art). Un miroir casserait la cohérence lumineuse. Pour orienter un bâtiment différemment, positionner la route/l'accès du bon côté (gauche ou droite) plutôt que de tourner l'asset.",
    "duplicates": "Building_StreetStand.png et Building_StreetStand_Front.png sont pixel-identiques (même bbox de contenu) — un seul asset visuel, deux noms de fichier.",
    "front_prop_pattern": "Les fichiers '_Front.png' (Building_Cinema_Front, Building_Restaurant_Front) sont des accessoires détachables (panneau, cordon, mobilier de terrasse) à superposer devant le bâtiment principal, pas des variantes de façade du bâtiment lui-même.",
    "count": 53
  },
  "assets": {
    "Building_Appartment_Level1.png": {
      "category": "building",
      "subtype": "apartment",
      "tags": [
        "résidentiel",
        "modulaire",
        "1 étage"
      ],
      "description": "Module d'immeuble rez-de-chaussée, empilable (base de Level2/Level3).",
      "canvas_px": [
        532,
        1036
      ],
      "content_bbox_px": [
        22,
        398,
        490,
        869
      ],
      "content_size_px": [
        468,
        471
      ],
      "anchor_px": [
        256,
        869
      ],
      "colors": {
        "top_zone": "#807890",
        "bottom_zone": "#c85828",
        "overall": "#c85828"
      },
      "placement": "building_tile_stackable",
      "footprint_tiles": 1.0,
      "facing": {
        "door_side": "right",
        "door_count": 1,
        "window_sides": {
          "left": 2,
          "right": 0
        },
        "stack_note": "Niveau de base — Level2/3 s'empilent par-dessus verticalement."
      }
    },
    "Building_Appartment_Level2.png": {
      "category": "building",
      "subtype": "apartment",
      "tags": [
        "résidentiel",
        "modulaire",
        "2 étages"
      ],
      "description": "Module d'immeuble 2 niveaux, empilable.",
      "canvas_px": [
        532,
        1036
      ],
      "content_bbox_px": [
        17,
        201,
        492,
        869
      ],
      "content_size_px": [
        475,
        668
      ],
      "anchor_px": [
        254,
        869
      ],
      "colors": {
        "top_zone": "#807890",
        "bottom_zone": "#c85828",
        "overall": "#c85828"
      },
      "placement": "building_tile_stackable",
      "footprint_tiles": 1.0,
      "facing": {
        "door_side": "right (rez-de-chaussée uniquement)",
        "door_count": 1,
        "window_sides": {
          "left": 4,
          "right": 2
        },
        "stack_note": "2 étages: fenêtres des deux côtés à chaque étage, sauf porte au rez-de-chaussée côté droit."
      }
    },
    "Building_Appartment_Level3.png": {
      "category": "building",
      "subtype": "apartment",
      "tags": [
        "résidentiel",
        "modulaire",
        "3 étages"
      ],
      "description": "Module d'immeuble 3 niveaux, version empilée finale.",
      "canvas_px": [
        532,
        1036
      ],
      "content_bbox_px": [
        20,
        8,
        493,
        869
      ],
      "content_size_px": [
        473,
        861
      ],
      "anchor_px": [
        256,
        869
      ],
      "colors": {
        "top_zone": "#807890",
        "bottom_zone": "#c85828",
        "overall": "#c85828"
      },
      "placement": "building_tile_stackable",
      "footprint_tiles": 1.0,
      "facing": {
        "door_side": "right (rez-de-chaussée uniquement)",
        "door_count": 1,
        "window_sides": {
          "left": 6,
          "right": 4
        },
        "stack_note": "3 étages: fenêtres des deux côtés à chaque étage, sauf porte au rez-de-chaussée côté droit."
      }
    },
    "Building_Cinema.png": {
      "category": "building",
      "subtype": "cinema",
      "tags": [
        "commerce",
        "loisir",
        "divertissement"
      ],
      "description": "Cinéma arrondi blanc/orange, façade rose, 2 bouches d'aération sur le toit, rideau métallique.",
      "canvas_px": [
        1036,
        1036
      ],
      "content_bbox_px": [
        72,
        97,
        999,
        816
      ],
      "content_size_px": [
        927,
        719
      ],
      "anchor_px": [
        535,
        816
      ],
      "colors": {
        "top_zone": "#b85038",
        "bottom_zone": "#b85038",
        "overall": "#b85038"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.8,
      "facing": {
        "door_side": "right (alcôve d'entrée sombre)",
        "door_count": 1,
        "window_sides": {
          "left": 1,
          "right": 0
        },
        "note": "Rideau métallique et vitrine colorée sur la face gauche/centre. Panneau chevalet + cordon (Building_Cinema_Front.png) à poser devant l'entrée à droite."
      }
    },
    "Building_Cinema_Front.png": {
      "category": "decor",
      "subtype": "building_props",
      "tags": [
        "cinéma",
        "entrée",
        "façade"
      ],
      "description": "Accessoires détachables: panneau chevalet + cordon de délimitation.",
      "canvas_px": [
        1036,
        1036
      ],
      "content_bbox_px": [
        496,
        496,
        999,
        816
      ],
      "content_size_px": [
        503,
        320
      ],
      "anchor_px": [
        747,
        816
      ],
      "colors": {
        "top_zone": "#300028",
        "bottom_zone": "#300028",
        "overall": "#300028"
      },
      "placement": "prop_in_front_of_building",
      "footprint_tiles": 0.5,
      "pairs_with": "Building_Cinema.png"
    },
    "Building_Doctor.png": {
      "category": "building",
      "subtype": "clinic",
      "tags": [
        "service",
        "santé",
        "médical"
      ],
      "description": "Cabinet médical bleu/blanc à deux ailes, croix rouge sur le toit, parking devant.",
      "canvas_px": [
        980,
        1232
      ],
      "content_bbox_px": [
        30,
        386,
        942,
        1064
      ],
      "content_size_px": [
        912,
        678
      ],
      "anchor_px": [
        486,
        1064
      ],
      "colors": {
        "top_zone": "#0070a8",
        "bottom_zone": "#504050",
        "overall": "#504050"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.75,
      "facing": {
        "door_side": "right (aile droite, porte vitrée)",
        "door_count": 1,
        "window_sides": {
          "left": 2,
          "right": 0
        },
        "note": "Bâtiment en deux blocs: aile gauche = fenêtres, aile droite = entrée."
      }
    },
    "Building_Groceries.png": {
      "category": "building",
      "subtype": "shop",
      "tags": [
        "commerce",
        "alimentation",
        "supermarché"
      ],
      "description": "Supermarché vert, enseigne sac de courses sur le toit, parking marqué au sol, bannière fanions.",
      "canvas_px": [
        980,
        1232
      ],
      "content_bbox_px": [
        48,
        346,
        944,
        1072
      ],
      "content_size_px": [
        896,
        726
      ],
      "anchor_px": [
        496,
        1072
      ],
      "colors": {
        "top_zone": "#504050",
        "bottom_zone": "#504050",
        "overall": "#504050"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.75,
      "facing": {
        "door_side": "left (double porte vitrée)",
        "door_count": 1,
        "window_sides": {
          "left": 0,
          "right": 1
        },
        "parking_side": "devant (parking peint au sol)"
      }
    },
    "Building_House1.png": {
      "category": "building",
      "subtype": "house",
      "tags": [
        "résidentiel",
        "toit brun",
        "cheminée"
      ],
      "description": "Maison brune/orangée, toit tuiles, cheminée grise en haut à droite du toit.",
      "canvas_px": [
        532,
        1036
      ],
      "content_bbox_px": [
        2,
        328,
        495,
        871
      ],
      "content_size_px": [
        493,
        543
      ],
      "anchor_px": [
        248,
        871
      ],
      "colors": {
        "top_zone": "#807890",
        "bottom_zone": "#b06840",
        "overall": "#b06840"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.0,
      "facing": {
        "door_side": "left",
        "door_count": 1,
        "window_sides": {
          "left": 0,
          "right": 3
        },
        "chimney_side": "right (sur le toit)"
      }
    },
    "Building_House2.png": {
      "category": "building",
      "subtype": "house",
      "tags": [
        "résidentiel",
        "toit rouge",
        "cheminée"
      ],
      "description": "Maison jaune, toit tuiles rouges/brunes, cheminée grise en haut à droite du toit.",
      "canvas_px": [
        532,
        1036
      ],
      "content_bbox_px": [
        15,
        354,
        496,
        870
      ],
      "content_size_px": [
        481,
        516
      ],
      "anchor_px": [
        255,
        870
      ],
      "colors": {
        "top_zone": "#807890",
        "bottom_zone": "#f0b848",
        "overall": "#f0b848"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.0,
      "facing": {
        "door_side": "left",
        "door_count": 1,
        "window_sides": {
          "left": 0,
          "right": 2
        },
        "chimney_side": "right (sur le toit)"
      }
    },
    "Building_House3.png": {
      "category": "building",
      "subtype": "house",
      "tags": [
        "résidentiel",
        "toit brun"
      ],
      "description": "Maison à toit brun, façade orange/rouille, avant-toit en saillie sur la porte.",
      "canvas_px": [
        532,
        1036
      ],
      "content_bbox_px": [
        17,
        341,
        495,
        842
      ],
      "content_size_px": [
        478,
        501
      ],
      "anchor_px": [
        256,
        842
      ],
      "colors": {
        "top_zone": "#604030",
        "bottom_zone": "#b83800",
        "overall": "#604030"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.0,
      "facing": {
        "door_side": "left",
        "door_count": 1,
        "window_sides": {
          "left": 0,
          "right": 2
        }
      }
    },
    "Building_House4.png": {
      "category": "building",
      "subtype": "house",
      "tags": [
        "résidentiel",
        "toit vert"
      ],
      "description": "Maison à toit vert foncé, façade verte, porche en saillie.",
      "canvas_px": [
        532,
        1036
      ],
      "content_bbox_px": [
        40,
        352,
        504,
        841
      ],
      "content_size_px": [
        464,
        489
      ],
      "anchor_px": [
        272,
        841
      ],
      "colors": {
        "top_zone": "#485000",
        "bottom_zone": "#707000",
        "overall": "#485000"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.0,
      "facing": {
        "door_side": "left",
        "door_count": 1,
        "window_sides": {
          "left": 0,
          "right": 2
        },
        "entrance_note": "Porche/porte en saillie sur la face gauche."
      }
    },
    "Building_House5.png": {
      "category": "building",
      "subtype": "house",
      "tags": [
        "résidentiel",
        "toit sombre",
        "bleu"
      ],
      "description": "Maison bleue, toit plat sombre, cheminée cylindrique en haut à gauche du toit.",
      "canvas_px": [
        532,
        1036
      ],
      "content_bbox_px": [
        17,
        409,
        496,
        869
      ],
      "content_size_px": [
        479,
        460
      ],
      "anchor_px": [
        256,
        869
      ],
      "colors": {
        "top_zone": "#504050",
        "bottom_zone": "#18b0f0",
        "overall": "#504050"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.0,
      "facing": {
        "door_side": "left",
        "door_count": 1,
        "window_sides": {
          "left": 0,
          "right": 3
        },
        "chimney_side": "left (sur le toit)"
      }
    },
    "Building_Restaurant.png": {
      "category": "building",
      "subtype": "restaurant",
      "tags": [
        "commerce",
        "restauration"
      ],
      "description": "Restaurant 2 étages, grand sandwich décoratif sur le toit, enseigne sandwich en façade.",
      "canvas_px": [
        784,
        1036
      ],
      "content_bbox_px": [
        40,
        111,
        744,
        864
      ],
      "content_size_px": [
        704,
        753
      ],
      "anchor_px": [
        392,
        864
      ],
      "colors": {
        "top_zone": "#d87838",
        "bottom_zone": "#b06840",
        "overall": "#b06840"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.3,
      "facing": {
        "door_side": "gauche + centre (2 portes au rez-de-chaussée)",
        "door_count": 2,
        "window_sides": {
          "left": 3,
          "right": 3
        },
        "note": "Grandes baies vitrées à l'étage sur toute la largeur. Terrasse (Building_Restaurant_Front.png) à poser devant, côté droit."
      }
    },
    "Building_Restaurant_Front.png": {
      "category": "decor",
      "subtype": "building_props",
      "tags": [
        "restaurant",
        "terrasse",
        "façade"
      ],
      "description": "Accessoires détachables: table + 2 chaises vertes + haie taillée.",
      "canvas_px": [
        784,
        1036
      ],
      "content_bbox_px": [
        355,
        655,
        631,
        864
      ],
      "content_size_px": [
        276,
        209
      ],
      "anchor_px": [
        493,
        864
      ],
      "colors": {
        "top_zone": "#300028",
        "bottom_zone": "#707000",
        "overall": "#707000"
      },
      "placement": "prop_in_front_of_building",
      "footprint_tiles": 0.4,
      "pairs_with": "Building_Restaurant.png"
    },
    "Building_School.png": {
      "category": "building",
      "subtype": "school",
      "tags": [
        "éducation",
        "service public"
      ],
      "description": "École jaune, toit ardoise sombre, clocher à cloche, terrain de jeu attenant.",
      "canvas_px": [
        980,
        1232
      ],
      "content_bbox_px": [
        24,
        304,
        959,
        1072
      ],
      "content_size_px": [
        935,
        768
      ],
      "anchor_px": [
        491,
        1072
      ],
      "colors": {
        "top_zone": "#f0b848",
        "bottom_zone": "#504050",
        "overall": "#504050"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.8,
      "facing": {
        "door_side": "centre-gauche (porche vitré)",
        "door_count": 1,
        "window_sides": {
          "left": 0,
          "right": 2
        },
        "playground_side": "gauche (balançoires + allée, sur tuile(s) adjacente(s))"
      }
    },
    "Building_ShopFish.png": {
      "category": "building",
      "subtype": "shop",
      "tags": [
        "commerce",
        "alimentation",
        "poissonnerie"
      ],
      "description": "Poissonnerie bleue, enseignes poisson suspendues, étal de poissons, panneau poisson sur poteau à droite.",
      "canvas_px": [
        784,
        1036
      ],
      "content_bbox_px": [
        28,
        224,
        768,
        767
      ],
      "content_size_px": [
        740,
        543
      ],
      "anchor_px": [
        398,
        767
      ],
      "colors": {
        "top_zone": "#0070a8",
        "bottom_zone": "#50b8f0",
        "overall": "#0070a8"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.4,
      "facing": {
        "door_side": "left",
        "door_count": 1,
        "window_sides": {
          "left": 0,
          "right": 2
        },
        "extra_prop_side": "right (panneau + étal, détachable en pratique)"
      }
    },
    "Building_ShopVeggies.png": {
      "category": "building",
      "subtype": "shop",
      "tags": [
        "commerce",
        "alimentation",
        "fruits et légumes"
      ],
      "description": "Épicerie verte, enseigne tomate/banane sur le toit, caisse de fruits, panneau cerise sur poteau à droite.",
      "canvas_px": [
        784,
        1036
      ],
      "content_bbox_px": [
        32,
        247,
        768,
        768
      ],
      "content_size_px": [
        736,
        521
      ],
      "anchor_px": [
        400,
        768
      ],
      "colors": {
        "top_zone": "#a0a830",
        "bottom_zone": "#50b8f0",
        "overall": "#50b8f0"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.4,
      "facing": {
        "door_side": "right",
        "door_count": 1,
        "window_sides": {
          "left": 2,
          "right": 0
        },
        "extra_prop_side": "right (panneau cerise sur poteau, détachable en pratique)"
      }
    },
    "Building_StreetStand.png": {
      "category": "building",
      "subtype": "kiosk",
      "tags": [
        "commerce",
        "café",
        "petit stand"
      ],
      "description": "Stand de café en bois, gobelet géant sur le toit, poubelle grillagée à côté.",
      "canvas_px": [
        532,
        784
      ],
      "content_bbox_px": [
        86,
        96,
        478,
        536
      ],
      "content_size_px": [
        392,
        440
      ],
      "anchor_px": [
        282,
        536
      ],
      "colors": {
        "top_zone": "#904820",
        "bottom_zone": "#b06840",
        "overall": "#604030"
      },
      "placement": "building_tile",
      "footprint_tiles": 0.7,
      "facing": {
        "door_side": "front (ouvert, pas de porte)",
        "window_sides": {
          "left": 0,
          "right": 0
        },
        "entrance_note": "Comptoir ouvert orienté face caméra, pas de côté fermé."
      }
    },
    "Building_StreetStand_Front.png": {
      "category": "building",
      "subtype": "kiosk",
      "tags": [
        "commerce",
        "café",
        "petit stand"
      ],
      "description": "Variante d'affichage du stand de café (visuellement identique à Building_StreetStand.png).",
      "canvas_px": [
        532,
        784
      ],
      "content_bbox_px": [
        86,
        96,
        478,
        536
      ],
      "content_size_px": [
        392,
        440
      ],
      "anchor_px": [
        282,
        536
      ],
      "colors": {
        "top_zone": "#904820",
        "bottom_zone": "#b06840",
        "overall": "#604030"
      },
      "placement": "building_tile",
      "footprint_tiles": 0.7,
      "duplicate_of": "Building_StreetStand.png"
    },
    "Building_Workplace.png": {
      "category": "building",
      "subtype": "office",
      "tags": [
        "travail",
        "commerce",
        "bureau"
      ],
      "description": "Immeuble blanc à toit brun, 2 étages de vitrines, auvent d'entrée, tapis d'accueil.",
      "canvas_px": [
        784,
        1036
      ],
      "content_bbox_px": [
        30,
        48,
        624,
        784
      ],
      "content_size_px": [
        594,
        736
      ],
      "anchor_px": [
        327,
        784
      ],
      "colors": {
        "top_zone": "#b85038",
        "bottom_zone": "#50b8f0",
        "overall": "#b85038"
      },
      "placement": "building_tile",
      "footprint_tiles": 1.1,
      "facing": {
        "door_side": "right (rez-de-chaussée, sous l'auvent)",
        "door_count": 1,
        "window_sides": {
          "left": 3,
          "right": 2
        },
        "note": "Grandes vitrines sur les deux étages et les deux faces, sauf porte au rez-de-chaussée droite."
      }
    },
    "Bus_Back.png": {
      "category": "vehicle",
      "subtype": "bus",
      "tags": [
        "transport",
        "vue arrière"
      ],
      "description": "Même bus que Bus_Front, vue arrière/trois-quarts.",
      "canvas_px": [
        392,
        392
      ],
      "content_bbox_px": [
        27,
        64,
        343,
        351
      ],
      "content_size_px": [
        316,
        287
      ],
      "anchor_px": [
        185,
        351
      ],
      "colors": {
        "top_zone": "#f0b848",
        "bottom_zone": "#f0b848",
        "overall": "#f0b848"
      },
      "placement": "road_prop",
      "footprint_tiles": 1.0,
      "facing": {
        "direction": "vers le haut de l'écran (nord)",
        "pair_with": "Bus_Front.png"
      }
    },
    "Bus_Front.png": {
      "category": "vehicle",
      "subtype": "bus",
      "tags": [
        "transport",
        "vue avant"
      ],
      "description": "Bus scolaire jaune, vue de face/trois-quarts.",
      "canvas_px": [
        392,
        392
      ],
      "content_bbox_px": [
        32,
        57,
        336,
        351
      ],
      "content_size_px": [
        304,
        294
      ],
      "anchor_px": [
        184,
        351
      ],
      "colors": {
        "top_zone": "#f0b848",
        "bottom_zone": "#f0b848",
        "overall": "#f0b848"
      },
      "placement": "road_prop",
      "footprint_tiles": 1.0,
      "facing": {
        "direction": "vers le bas de l'écran (sud)",
        "pair_with": "Bus_Back.png"
      }
    },
    "CarType1_Back.png": {
      "category": "vehicle",
      "subtype": "car",
      "tags": [
        "véhicule",
        "route",
        "vue arrière"
      ],
      "description": "Même berline que CarType1_Front, vue arrière (feux orange).",
      "canvas_px": [
        392,
        392
      ],
      "content_bbox_px": [
        73,
        129,
        333,
        340
      ],
      "content_size_px": [
        260,
        211
      ],
      "anchor_px": [
        203,
        340
      ],
      "colors": {
        "top_zone": "#504050",
        "bottom_zone": "#504050",
        "overall": "#504050"
      },
      "placement": "road_prop",
      "footprint_tiles": 0.6,
      "facing": {
        "direction": "vers le haut de l'écran (nord)",
        "pair_with": "CarType1_Front.png"
      }
    },
    "CarType1_Front.png": {
      "category": "vehicle",
      "subtype": "car",
      "tags": [
        "véhicule",
        "route",
        "vue avant"
      ],
      "description": "Berline gris foncé/violet, vue de face.",
      "canvas_px": [
        392,
        392
      ],
      "content_bbox_px": [
        72,
        113,
        336,
        344
      ],
      "content_size_px": [
        264,
        231
      ],
      "anchor_px": [
        204,
        344
      ],
      "colors": {
        "top_zone": "#504050",
        "bottom_zone": "#504050",
        "overall": "#504050"
      },
      "placement": "road_prop",
      "footprint_tiles": 0.6,
      "facing": {
        "direction": "vers le bas de l'écran (sud)",
        "pair_with": "CarType1_Back.png"
      }
    },
    "CarType2_Back.png": {
      "category": "vehicle",
      "subtype": "car",
      "tags": [
        "véhicule",
        "route",
        "vue arrière"
      ],
      "description": "Même monospace que CarType2_Front, vue arrière.",
      "canvas_px": [
        392,
        392
      ],
      "content_bbox_px": [
        72,
        104,
        335,
        339
      ],
      "content_size_px": [
        263,
        235
      ],
      "anchor_px": [
        203,
        339
      ],
      "colors": {
        "top_zone": "#0070a8",
        "bottom_zone": "#0070a8",
        "overall": "#0070a8"
      },
      "placement": "road_prop",
      "footprint_tiles": 0.6,
      "facing": {
        "direction": "vers le haut de l'écran (nord)",
        "pair_with": "CarType2_Front.png"
      }
    },
    "CarType2_Front.png": {
      "category": "vehicle",
      "subtype": "car",
      "tags": [
        "véhicule",
        "route",
        "vue avant"
      ],
      "description": "Voiture/monospace bleu, vue de face.",
      "canvas_px": [
        392,
        392
      ],
      "content_bbox_px": [
        73,
        88,
        335,
        343
      ],
      "content_size_px": [
        262,
        255
      ],
      "anchor_px": [
        204,
        343
      ],
      "colors": {
        "top_zone": "#0070a8",
        "bottom_zone": "#0070a8",
        "overall": "#0070a8"
      },
      "placement": "road_prop",
      "footprint_tiles": 0.6,
      "facing": {
        "direction": "vers le bas de l'écran (sud)",
        "pair_with": "CarType2_Back.png"
      }
    },
    "Decor_Boxes.png": {
      "category": "decor",
      "subtype": "boxes",
      "tags": [
        "logistique",
        "livraison",
        "entrepôt"
      ],
      "description": "Piles de cartons sur un diable de transport.",
      "canvas_px": [
        168,
        168
      ],
      "content_bbox_px": [
        0,
        0,
        168,
        168
      ],
      "content_size_px": [
        168,
        168
      ],
      "anchor_px": [
        84,
        168
      ],
      "colors": {
        "top_zone": "#b06840",
        "bottom_zone": "#785848",
        "overall": "#b06840"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.2
    },
    "Decor_EmergencyCone.png": {
      "category": "decor",
      "subtype": "cone",
      "tags": [
        "route",
        "chantier",
        "sécurité"
      ],
      "description": "Cône de signalisation orange avec bandes blanches.",
      "canvas_px": [
        84,
        112
      ],
      "content_bbox_px": [
        0,
        0,
        84,
        96
      ],
      "content_size_px": [
        84,
        96
      ],
      "anchor_px": [
        42,
        96
      ],
      "colors": {
        "top_zone": "#280020",
        "bottom_zone": "#e09000",
        "overall": "#e09000"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.15
    },
    "Decor_FireHydrant.png": {
      "category": "decor",
      "subtype": "fire_hydrant",
      "tags": [
        "mobilier urbain",
        "rue",
        "sécurité"
      ],
      "description": "Bouche d'incendie orange/rouge.",
      "canvas_px": [
        84,
        168
      ],
      "content_bbox_px": [
        0,
        0,
        84,
        144
      ],
      "content_size_px": [
        84,
        144
      ],
      "anchor_px": [
        42,
        144
      ],
      "colors": {
        "top_zone": "#b83800",
        "bottom_zone": "#b83800",
        "overall": "#b83800"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.1
    },
    "Decor_StreetLampGlow.png": {
      "category": "decor",
      "subtype": "streetlamp",
      "tags": [
        "éclairage",
        "rue",
        "nuit"
      ],
      "description": "Réverbère avec halo lumineux jaune-orangé.",
      "canvas_px": [
        168,
        280
      ],
      "content_bbox_px": [
        31,
        25,
        132,
        264
      ],
      "content_size_px": [
        101,
        239
      ],
      "anchor_px": [
        81,
        264
      ],
      "colors": {
        "top_zone": "#f8f8f0",
        "bottom_zone": "#300028",
        "overall": "#f8f8f0"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.15
    },
    "Decor_Swingset.png": {
      "category": "decor",
      "subtype": "playground",
      "tags": [
        "parc",
        "enfants",
        "jeu"
      ],
      "description": "Portique de balançoires en bois, deux sièges jaunes.",
      "canvas_px": [
        252,
        280
      ],
      "content_bbox_px": [
        0,
        0,
        252,
        272
      ],
      "content_size_px": [
        252,
        272
      ],
      "anchor_px": [
        126,
        272
      ],
      "colors": {
        "top_zone": "#300028",
        "bottom_zone": "#300028",
        "overall": "#300028"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.4
    },
    "Decor_TableSet.png": {
      "category": "decor",
      "subtype": "furniture",
      "tags": [
        "extérieur",
        "restaurant",
        "terrasse"
      ],
      "description": "Table rectangulaire en bois avec 4 chaises assorties.",
      "canvas_px": [
        224,
        196
      ],
      "content_bbox_px": [
        0,
        0,
        208,
        176
      ],
      "content_size_px": [
        208,
        176
      ],
      "anchor_px": [
        104,
        176
      ],
      "colors": {
        "top_zone": "#300028",
        "bottom_zone": "#300028",
        "overall": "#785848"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.3
    },
    "Decor_TraficSign.png": {
      "category": "decor",
      "subtype": "traffic_sign",
      "tags": [
        "signalisation",
        "route"
      ],
      "description": "Panneau triangulaire jaune/orange sur poteau.",
      "canvas_px": [
        112,
        252
      ],
      "content_bbox_px": [
        0,
        0,
        104,
        240
      ],
      "content_size_px": [
        104,
        240
      ],
      "anchor_px": [
        52,
        240
      ],
      "colors": {
        "top_zone": "#e09000",
        "bottom_zone": "#300028",
        "overall": "#e09000"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.1
    },
    "Decor_TrashBag.png": {
      "category": "decor",
      "subtype": "trash_bag",
      "tags": [
        "déchet",
        "rue",
        "petit élément"
      ],
      "description": "Sac poubelle noué, silhouette sombre violacée.",
      "canvas_px": [
        84,
        112
      ],
      "content_bbox_px": [
        0,
        0,
        84,
        112
      ],
      "content_size_px": [
        84,
        112
      ],
      "anchor_px": [
        42,
        112
      ],
      "colors": {
        "top_zone": "#300028",
        "bottom_zone": "#504050",
        "overall": "#504050"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.08
    },
    "Decor_TrashCan.png": {
      "category": "decor",
      "subtype": "trash_can",
      "tags": [
        "mobilier urbain",
        "rue"
      ],
      "description": "Poubelle ronde marron à bandes verticales.",
      "canvas_px": [
        112,
        140
      ],
      "content_bbox_px": [
        0,
        0,
        88,
        117
      ],
      "content_size_px": [
        88,
        117
      ],
      "anchor_px": [
        44,
        117
      ],
      "colors": {
        "top_zone": "#300028",
        "bottom_zone": "#807890",
        "overall": "#807890"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.15
    },
    "Decor_Weeds1.png": {
      "category": "decor",
      "subtype": "weeds",
      "tags": [
        "nature",
        "petit élément",
        "sol"
      ],
      "description": "Touffe d'herbe olive/violet, la plus petite variante.",
      "canvas_px": [
        56,
        56
      ],
      "content_bbox_px": [
        0,
        0,
        56,
        48
      ],
      "content_size_px": [
        56,
        48
      ],
      "anchor_px": [
        28,
        48
      ],
      "colors": {
        "top_zone": "#300020",
        "bottom_zone": "#300020",
        "overall": "#300020"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.08
    },
    "Decor_Weeds2.png": {
      "category": "decor",
      "subtype": "weeds",
      "tags": [
        "nature",
        "petit élément",
        "sol"
      ],
      "description": "Touffe de mauvaises herbes olive/kaki, petite.",
      "canvas_px": [
        84,
        56
      ],
      "content_bbox_px": [
        0,
        0,
        80,
        56
      ],
      "content_size_px": [
        80,
        56
      ],
      "anchor_px": [
        40,
        56
      ],
      "colors": {
        "top_zone": "#300028",
        "bottom_zone": "#300028",
        "overall": "#300028"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.1
    },
    "Decor_Weeds3.png": {
      "category": "decor",
      "subtype": "weeds",
      "tags": [
        "nature",
        "petit élément",
        "sol"
      ],
      "description": "Petite touffe d'herbe foncée, variante compacte.",
      "canvas_px": [
        56,
        56
      ],
      "content_bbox_px": [
        0,
        0,
        40,
        40
      ],
      "content_size_px": [
        40,
        40
      ],
      "anchor_px": [
        20,
        40
      ],
      "colors": {
        "top_zone": "#300028",
        "bottom_zone": "#300028",
        "overall": "#300028"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.08
    },
    "Npc.png": {
      "category": "character",
      "subtype": "npc_sprite_sheet",
      "tags": [
        "personnage",
        "planche d'animation",
        "avatar"
      ],
      "description": "Planche de sprites PNJ, 8 colonnes x 5 lignes (rotations de tête/cheveux, face à dos).",
      "canvas_px": [
        1400,
        868
      ],
      "content_bbox_px": [
        40,
        52,
        1344,
        864
      ],
      "content_size_px": [
        1304,
        812
      ],
      "anchor_px": [
        692,
        864
      ],
      "colors": {
        "top_zone": "#604030",
        "bottom_zone": "#604030",
        "overall": "#604030"
      },
      "placement": "sprite_sheet",
      "sheet_grid": [
        8,
        5
      ]
    },
    "Park_Fountain.png": {
      "category": "decor",
      "subtype": "park_feature",
      "tags": [
        "parc",
        "fontaine",
        "place publique"
      ],
      "description": "Fontaine circulaire vue de dessus, bassin central, anneaux de pavés/pelouse, bosquets aux 4 points cardinaux.",
      "canvas_px": [
        1036,
        784
      ],
      "content_bbox_px": [
        16,
        16,
        1008,
        615
      ],
      "content_size_px": [
        992,
        599
      ],
      "anchor_px": [
        512,
        615
      ],
      "colors": {
        "top_zone": "#909820",
        "bottom_zone": "#b06840",
        "overall": "#b06840"
      },
      "placement": "ground_feature_multi_tile",
      "footprint_tiles": 2.0
    },
    "PicketFence4.png": {
      "category": "decor",
      "subtype": "fence",
      "tags": [
        "clôture",
        "résidentiel",
        "jardin"
      ],
      "description": "Longue clôture en bois à lattes verticales, motif ondulé en haut.",
      "canvas_px": [
        280,
        280
      ],
      "content_bbox_px": [
        0,
        0,
        264,
        256
      ],
      "content_size_px": [
        264,
        256
      ],
      "anchor_px": [
        132,
        256
      ],
      "colors": {
        "top_zone": "#b06840",
        "bottom_zone": "#b06840",
        "overall": "#b06840"
      },
      "placement": "edge_prop",
      "footprint_tiles": 1.0
    },
    "Plant.png": {
      "category": "decor",
      "subtype": "plant",
      "tags": [
        "nature",
        "pot",
        "décor urbain"
      ],
      "description": "Plante en pot marron, feuillage vert en double boule.",
      "canvas_px": [
        84,
        168
      ],
      "content_bbox_px": [
        0,
        0,
        80,
        144
      ],
      "content_size_px": [
        80,
        144
      ],
      "anchor_px": [
        40,
        144
      ],
      "colors": {
        "top_zone": "#909820",
        "bottom_zone": "#909820",
        "overall": "#909820"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.12
    },
    "Tile_Asfalt.png": {
      "category": "tile",
      "subtype": "ground",
      "tags": [
        "asphalte",
        "route",
        "biome urbain"
      ],
      "description": "Tuile de sol gris/violet (asphalte/route).",
      "canvas_px": [
        532,
        532
      ],
      "content_bbox_px": [
        0,
        64,
        512,
        512
      ],
      "content_size_px": [
        512,
        448
      ],
      "anchor_px": [
        256,
        512
      ],
      "colors": {
        "top_zone": "#504050",
        "bottom_zone": "#504050",
        "overall": "#504050"
      },
      "placement": "ground_tile",
      "footprint_tiles": 1.0
    },
    "Tile_Dirt.png": {
      "category": "tile",
      "subtype": "ground",
      "tags": [
        "terre",
        "biome",
        "chemin"
      ],
      "description": "Tuile de sol marron (terre/chemin).",
      "canvas_px": [
        532,
        532
      ],
      "content_bbox_px": [
        0,
        65,
        513,
        513
      ],
      "content_size_px": [
        513,
        448
      ],
      "anchor_px": [
        256,
        513
      ],
      "colors": {
        "top_zone": "#b06840",
        "bottom_zone": "#b06840",
        "overall": "#b06840"
      },
      "placement": "ground_tile",
      "footprint_tiles": 1.0
    },
    "Tile_Grass.png": {
      "category": "tile",
      "subtype": "ground",
      "tags": [
        "herbe",
        "biome",
        "campagne"
      ],
      "description": "Tuile de sol vert avec bordure d'herbe texturée.",
      "canvas_px": [
        532,
        532
      ],
      "content_bbox_px": [
        0,
        54,
        513,
        513
      ],
      "content_size_px": [
        513,
        459
      ],
      "anchor_px": [
        256,
        513
      ],
      "colors": {
        "top_zone": "#a0a830",
        "bottom_zone": "#b06840",
        "overall": "#a0a830"
      },
      "placement": "ground_tile",
      "footprint_tiles": 1.0
    },
    "Tile_Water.png": {
      "category": "tile",
      "subtype": "ground",
      "tags": [
        "eau",
        "biome"
      ],
      "description": "Tuile de sol bleu uni (eau).",
      "canvas_px": [
        532,
        532
      ],
      "content_bbox_px": [
        0,
        64,
        513,
        513
      ],
      "content_size_px": [
        513,
        449
      ],
      "anchor_px": [
        256,
        513
      ],
      "colors": {
        "top_zone": "#18b0f0",
        "bottom_zone": "#18b0f0",
        "overall": "#18b0f0"
      },
      "placement": "ground_tile",
      "footprint_tiles": 1.0
    },
    "Tree1.png": {
      "category": "nature",
      "subtype": "tree",
      "tags": [
        "végétation",
        "vert"
      ],
      "description": "Arbre rond, feuillage vert olive, tronc marron.",
      "canvas_px": [
        168,
        224
      ],
      "content_bbox_px": [
        0,
        0,
        156,
        224
      ],
      "content_size_px": [
        156,
        224
      ],
      "anchor_px": [
        78,
        224
      ],
      "colors": {
        "top_zone": "#a0a848",
        "bottom_zone": "#a0a848",
        "overall": "#a0a848"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.25
    },
    "Tree2.png": {
      "category": "nature",
      "subtype": "tree",
      "tags": [
        "végétation",
        "vert foncé"
      ],
      "description": "Arbre rond feuillage vert olive avec taches marron.",
      "canvas_px": [
        168,
        224
      ],
      "content_bbox_px": [
        0,
        0,
        159,
        224
      ],
      "content_size_px": [
        159,
        224
      ],
      "anchor_px": [
        79,
        224
      ],
      "colors": {
        "top_zone": "#909838",
        "bottom_zone": "#300028",
        "overall": "#909838"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.25
    },
    "Tree3.png": {
      "category": "nature",
      "subtype": "tree",
      "tags": [
        "végétation",
        "vert foncé"
      ],
      "description": "Arbre feuillage vert foncé/olive terne.",
      "canvas_px": [
        168,
        252
      ],
      "content_bbox_px": [
        0,
        0,
        158,
        231
      ],
      "content_size_px": [
        158,
        231
      ],
      "anchor_px": [
        79,
        231
      ],
      "colors": {
        "top_zone": "#707020",
        "bottom_zone": "#707020",
        "overall": "#707020"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.25
    },
    "Tree4.png": {
      "category": "nature",
      "subtype": "tree",
      "tags": [
        "végétation",
        "automne",
        "orange"
      ],
      "description": "Arbre feuillage orange (automne).",
      "canvas_px": [
        168,
        224
      ],
      "content_bbox_px": [
        0,
        0,
        156,
        224
      ],
      "content_size_px": [
        156,
        224
      ],
      "anchor_px": [
        78,
        224
      ],
      "colors": {
        "top_zone": "#d87020",
        "bottom_zone": "#d87020",
        "overall": "#d87020"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.25
    },
    "Tree5.png": {
      "category": "nature",
      "subtype": "tree",
      "tags": [
        "végétation",
        "conifère",
        "sapin"
      ],
      "description": "Sapin/conifère vert olive, forme triangulaire étagée.",
      "canvas_px": [
        168,
        252
      ],
      "content_bbox_px": [
        0,
        0,
        152,
        237
      ],
      "content_size_px": [
        152,
        237
      ],
      "anchor_px": [
        76,
        237
      ],
      "colors": {
        "top_zone": "#707020",
        "bottom_zone": "#707020",
        "overall": "#707020"
      },
      "placement": "prop_on_tile",
      "footprint_tiles": 0.25
    },
    "Truck_Red_Back.png": {
      "category": "vehicle",
      "subtype": "truck",
      "tags": [
        "transport",
        "livraison",
        "vue arrière"
      ],
      "description": "Même camion que Truck_Red_Front, vue arrière.",
      "canvas_px": [
        392,
        392
      ],
      "content_bbox_px": [
        32,
        88,
        344,
        351
      ],
      "content_size_px": [
        312,
        263
      ],
      "anchor_px": [
        188,
        351
      ],
      "colors": {
        "top_zone": "#d03800",
        "bottom_zone": "#d03800",
        "overall": "#d03800"
      },
      "placement": "road_prop",
      "footprint_tiles": 1.0,
      "facing": {
        "direction": "vers le haut de l'écran (nord)",
        "pair_with": "Truck_Red_Front.png"
      }
    },
    "Truck_Red_Front.png": {
      "category": "vehicle",
      "subtype": "truck",
      "tags": [
        "transport",
        "livraison",
        "vue avant"
      ],
      "description": "Camion de livraison à benne rouge, cabine gris foncé.",
      "canvas_px": [
        392,
        392
      ],
      "content_bbox_px": [
        32,
        56,
        344,
        351
      ],
      "content_size_px": [
        312,
        295
      ],
      "anchor_px": [
        188,
        351
      ],
      "colors": {
        "top_zone": "#d03800",
        "bottom_zone": "#d03800",
        "overall": "#d03800"
      },
      "placement": "road_prop",
      "footprint_tiles": 1.0,
      "facing": {
        "direction": "vers le bas de l'écran (sud)",
        "pair_with": "Truck_Red_Back.png"
      }
    }
  }
}