quest'n'click 4.5.0 · r1

Construite pour quest'n'click 4.5.0, révision r1. Si elle est publiée, et laquelle est la courante, est dit par publication.json.

Assets et découpe

English · Type : procédure · Public : auteur · Contexte : Studio local · Statut : prête · S'applique depuis : 4.2.1

Le Studio local · contrat : stable · vérifié par la CI (matrice de support de la 4.4.0, 2026-10-23) : Chromium de bout en bout (les vérifications du Studio) ; Windows : la suite unitaire seulement · vérifications automatiques : jobs e2e, windows ; plan de CI e2e, windows ; 2 fichiers de tests · passes humaines : studio-hero-matrix pas faite (#238) · limites connues : demo-read-only

L'onglet Assets liste chaque image et chaque son du jeu face à ce que le jeu utilise, donne à chaque planche son prompt de génération, et reçoit les images et les sons générés qui les remplacent ou les complètent, en découpant les planches en cases, sans jamais supprimer un fichier.

Ce que vous obtenez

Une planche de sprites générée, découpée en les cases que le jeu nomme, une image ou un son remplacé avec l'ancien gardé à côté, et le jeu qui montre le nouveau dessin une fois préparé.

Contexte et versions

Le Studio local, dans le dépôt du moteur ou un projet créé. Vrai depuis la 4.2.1 (chaque envoi est une opération du journal du jeu). Le Studio de démo montre la liste en lecture seule ; un Studio hébergé a le même onglet avec ses propres limites (plus bas).

Prérequis

Où lancer les commandes

Dans le navigateur, sur l'onglet Assets. Prepare assets lance npm run assets pour vous, dans le dossier que sert le Studio.

L'onglet Assets

L'onglet liste tout ce qui se trouve sous games/<id>/art/ et audio/ face à ce que le jeu référence (tools/refs.ts), avec les prompts de npm run prompts (tools/prompts.ts).

Étapes

  1. Choisissez la planche dans l'arbre, Copy prompt (ou Copy prompt for missing cells only) et générez l'image avec votre modèle d'image.
  1. Upload generated sheet… envoie l'image avec l'id et la grille de la planche (6 × 4 par défaut). Elle est enregistrée sous private/sheets/<sheetId>-<heure>.<ext> et découpée par tools/cut-sheet.py dans art/<sheetId>/. Si des cases de cette planche existent déjà, une boîte de dialogue les liste, chacune avec une case recut : décochée, la case est gardée et seules les nouvelles cases sont découpées. Le résultat de la découpe s'affiche. Pour une planche qui n'a pas encore de dossier, utilisez Upload sheet into a new sheet id… dans la barre d'outils.
  1. Pour changer une seule image, sélectionnez la case et Replace…. Détourage : un fond uni est détouré par défaut ; choisissez « always » ou « never » pour l'imposer. Un décor (PNG ou JPEG) se remplace de même depuis Backgrounds, un son depuis Sounds (tout format que lit ffmpeg, même extension).
  1. Prepare assets (npm run assets) dans la barre d'outils lance la chaîne avec sa sortie en direct dans un tiroir ; le nombre à côté est ce qu'elle traiterait. Ensuite la vue Rooms se recharge. Une case remplacée apparaît dans le jeu une fois préparée.

Garantie · no-silent-recut · référencée · exécutée sur aff6caab7514 · portée vérifiée par son auteur (IA), pas relue Un envoi qui redécouperait des cases existantes sans les nommer est refusé avec 409 et la liste de ces cases. Un envoi qui nomme une case ne redécoupe que cette case, et l'ancien fichier est d'abord gardé en <nom>_v<N>.

Rien n'est supprimé : un son ou un décor remplacé est lui aussi gardé en <nom>_v<N>.

Les sauvegardes ne sont pas des cases : la liste et les prompts les ignorent.

Limite · demo-read-only Dans le Studio de démo, la liste vient de l'instantané (assets dans snapshot.json), les vignettes et les sons des fichiers préparés de public/assets (les cases inutilisées n'ont pas d'aperçu) ; les envois et Prepare sont cachés.

Sur un Studio hébergé

S'applique depuis la 4.2.3

Le même onglet, servi par le Studio Server sous /api/assets. Les envois sont bornés (10 Mio ; images PNG, JPEG ou WebP, sons Ogg, MP3 ou WAV, reconnus à leurs octets) ; la découpe, le détourage et Prepare assets (on the server) sont des jobs de l'application de traitement, sous le bail exclusif du projet, montrés dans un petit panneau avec un bouton Cancel (un job annulé avant son écriture ne laisse rien). La planche envoyée elle-même n'y est pas gardée. Voir Assets hébergés.

Résultat attendu, et comment le vérifier

La pastille de la case quitte le rouge ; après Prepare, elle quitte l'orange ; la case apparaît dans le jeu. git status montre les nouveaux fichiers sous art/<sheetId>/ et les sauvegardes _v<N> à côté.

Erreurs fréquentes

SymptômeCauseQue faire
409 avec conflicts à l'envoiDes cases de cette planche existent et n'ont pas été nomméesCocher recut pour les cases à remplacer, ou les laisser gardées
`sheetId` must be letters, digits, _ and - (not "decor")Un mauvais id de plancheUtiliser l'id de planche du jeu
Une case remplacée n'apparaît pas dans le jeuPas encore préparée (pastille orange)Prepare assets
La découpe échouePython 3 ou Pillow manqueChaîne d'outils image

Fichiers ou données modifiés

games/<id>/art/<sheetId>/<case>.png et leurs sauvegardes _v<N> ; art/decor/<nom>.<ext> ; audio/<music|sfx>/<fichier> ; la planche envoyée sous games/<id>/private/sheets/ ; les fichiers préparés sous public/assets/ après Prepare.

Revenir en arrière

Un fichier remplacé est gardé en <nom>_v<N> : recopiez-le sur la case, ou passez par git. Prepare peut être relancé à tout moment.

Références


Modifier la source de cette page · Signaler une erreur