## Ajout V4.1
Utiliser mountedPolice du manifest pour les ennemis à moto, avec agents déjà dessinés. Garder objects.motorcycle pour les motos garées uniquement. Suivre docs/MOTOS_V41.md pour les collisions et états.

# Priorité V4 : appartement et campagne

Construis un jeu web rétro 2D à partir de ce dossier. Commence par APPARTEMENT.html et les systèmes existants. Les exigences V4 ci-dessous prennent priorité sur les anciennes sections conservées plus bas.

L’appartement possède cinq scènes : salon avec entrée, chambre, salle de bain, dressing, home studio. Conserve la palette et les images fournies. Sépare les décors, personnages, objets et UI. Relie les pièces par leurs portes et garde une navigation rapide. Utilise les coordonnées normalisées de data/apartment.json comme points de départ, puis ajuste points d’approche et collisions sur les images.

Elne est adulte, 27 ans. Dans le dressing, elle choisit sept tenues et peut tourner en huit vues 2D, sans nudité intermédiaire. Dans la chambre, un coffre expose sa collection personnelle : regarder, tenir en main, ranger. Les dialogues sont complices, jamais des descriptions d’actes sexuels. Ajoute des poses de préhension et des ancres par tenue. Ne présente pas les poses debout actuelles comme des cycles de marche terminés.

Le studio utilise le séquenceur fourni. Maintiens les commandes lecture/arrêt, presets, tempo, sauvegarde et WAV. La porte de l’entrée passe au combat de rue et le retour restaure la tenue et l’inventaire intérieur. Le mini-combat fourni sert de base technique ; implémente ensuite la campagne décrite plus bas, ses vagues, objectifs, obstacles, ramassages et boss.

État persistant versionné : scène, progression, tenue, angle, inventaire, coffre, énergie, inspiration et projets musicaux. Les objets personnels ne deviennent pas des armes. Ajoute sauvegarde manuelle, réinitialisation explicite, options audio, clavier et tactile. Vérifie les chemins locaux, les ratios d’images et le rendu pixelated. Ne dépends pas de services externes pour lancer le prototype.

Consulte docs/APARTMENT_V4.md pour les limites, les formats et l’ordre de production. Teste les interactions dans un vrai navigateur avant d’annoncer le jeu finalisé.

## Instructions antérieures pour les assets et la campagne

# Construis ELNE REEL : STREET REVOLT
À partir de ce dossier, développe un vrai prototype local jouable de beat’em up de rue rétro. Lire README.md, manifest.json, docs/GAME_DESIGN.md, docs/INTEGRATION.md et les trois fichiers data/*.json. Remplacer l’ancienne direction STREET CROWN par STREET REVOLT.

## Résultat attendu
Elne avance de gauche à droite dans une rue, peut marcher vers le haut et le bas de la chaussée, sauter, courir, taper, ramasser une pancarte et lancer des objets. Des ennemis arrivent en vagues de chaque côté. La caméra bloque pendant certaines bagarres puis affiche GO. Des barrières, caisses, véhicules, trous et passages surélevés rythment la progression. Chaque niveau a un objectif, un checkpoint et un boss.

Utiliser les assets fournis réellement, avec leurs noms et coordonnées. Ne pas remplacer les personnages par des rectangles. Le moteur peut être Canvas 2D et JavaScript modules ; réutiliser Phaser si le projet l’utilise déjà. Garder une architecture simple : boot, scènes, input, entités, collisions, animation, audio et données. Jeu sans compte, sans serveur applicatif, sans paiement. Fournir une commande de démarrage local et le dossier de production statique.

## Priorité de réalisation
Livrer d’abord le niveau 1 de bout en bout : titre, commandes, progression, trois vagues, objets, objectif, checkpoint, Macron, victoire et défaite. Puis relier les niveaux 2 et 3 avec Musk et Trump, en réutilisant les systèmes. Si des poses manquent pour une attaque proposée, utiliser un projectile/FX fourni et une pose de préparation existante. Ne pas annoncer de nouvelles animations qui n’existent pas.

## Système de déplacement
Modèle x, laneY et z séparés. Trier les personnages par laneY ; rendre le sprite à laneY-z ; dessiner l’ombre au sol. Haut/bas change la profondeur, jamais le saut. Hitboxes au sol et tolérance de profondeur pour les coups. Obstacle bas franchissable si z suffisant. Gravité et déplacement indépendants du framerate. Les PNG sont tournés à droite, les inverser pour aller à gauche.

## Combat et inventaire
Poing, pied, pied sauté, garde, dash, trois coups combo simples. Deux ennemis maximum attaquent en même temps. Signaler les attaques fortes au sol avant dégâts. Une attaque ne blesse chaque cible qu’une seule fois. Courte invulnérabilité après dégâts et reprise du contrôle rapide.

Pancarte : arme de mêlée avec durabilité et sprite cassé. Pavé : projectile à stock limité. Cocktail Molotov : projectile arcade avec petite zone de flamme temporaire. Grenades des policiers : zone de fumée ou bref étourdissement, télégraphiés, effets locaux sans flash plein écran. Utiliser les valeurs fictives de data/items.json comme point de départ, équilibrer en jouant.

## Ennemis et boss
GIGN lourd, BAC rapide, CRS au bouclier, BRAV-M mobile avec arrivée près de la moto puis combat à pied. Boss satiriques : Macron et papiers/onde de paume ; Musk et drones/énergie ; Trump et piétinements/blocs dorés. Les détails sont dans data/combat.json. Combat non graphique, KO avec étoiles, pas de sang. N’inventer aucun discours prétendument réel de ces personnes.

## Objectif
Récupérer la bande master, la batterie et la couronne pour rétablir le concert d’Elne. Afficher clairement l’objectif du niveau, le compteur de relais et l’indicateur de sortie. Chaque station obligatoire doit rester accessible après le combat. La victoire finale exige les trois objets de quête.

## Clavier, tactile, accessibilité
Flèches ou ZQSD/WASD remappables : déplacement dans la rue. Espace : saut ; J : attaque ; K : pied ; L : lancer ; E : ramasser/interagir ; Maj : dash ; I : garde ; Échap : pause. Tactile multi-touch avec joystick et boutons, pointer capture, reset sur blur. Réduire le nombre de boutons visibles selon les objets portés. Menu pause, volume musique/effets, option secousses désactivables, contrastes lisibles. Pas de musique en lecture automatique avant interaction.

## Qualité et livraison
Tester collisions en profondeur, sauts par-dessus les barrières, caméra, vagues, objets, dégâts, mort/checkpoint, objectifs, trois boss, sauvegarde locale de progression, pause et redémarrage. Vérifier portrait et paysage. Ajouter la musique trap rétro et les bruitages seulement si les fichiers audio sont fournis. Fournir README de lancement, liste des touches, état réel des fonctionnalités et limites restantes. Aucun déploiement demandé.

## Ajout V2.1 : bonus secret AFTER HOURS
Lire data/secret-level.json et docs/SECRET_LEVEL.md. Ajouter une clé violette dans la caisse optionnelle du chapitre 2 et une entrée cachée après les trois relais. Cette entrée mène à une vignette interactive où Elne adulte est assise sur son lit, avec un décor à sous-entendu discret. Utiliser l’illustration complète sans superposer un second sprite Elne. Mini-jeu de trois notes, récompense unique et bouton Retour permanent. Sauvegarder les états pour empêcher de cumuler les récompenses en entrant et sortant. Aucun combat dans cette pièce. Les accessoires personnels restent décoratifs.

## V3 : remplace le bonus secret statique par le hub vestiaire/studio
La présente section remplace les instructions V2.1 relatives au mini-jeu de trois notes. Lire docs/MODES_V3.md, data/wardrobe.json et data/studio.json. Utiliser MODES_DEMO.html comme preuve de concept locale des interactions. Réutiliser ses assets et sa logique audio avec une architecture adaptée au jeu.

Chambre : fond vide, Elne debout séparée, sept tenues à huit angles, rotation par pas de 45 degrés, changement de tenue par fondu. Coffre ouvrable avec récompense unique. Le contenu du coffre reste décoratif. Ne pas confondre ces vues debout avec des sprites de combat ni appliquer une tenue à la campagne sans les animations correspondantes.

Studio : ouvrir la scène dédiée, rendre un séquenceur 5 pistes × 16 pas, tempo 80..170, lecture/arrêt, sauvegarde locale, export WAV de deux mesures. Audio uniquement après interaction. Les cinq pistes sont synthétiques et originales. Aucun accès microphone. Conserver l’état des motifs entre visites.

Connecter la clé et la porte du chapitre 2 existantes au hub. Retour permanent à la campagne avec restauration d’état. Récompenses non répétables. Vérifier rotation, changement de tenue, coffre, lecture, arrêt, changement tempo et export WAV. Tester mobile et clavier avant de déclarer le mode terminé.
