Enrichit les declencheurs/actions de scene (clic/survol/affichage, surbrillance/video/son/visibilite/indication/attendre) et fiabilise la pose d'un fond/decor importe
- Ajoute clic/survol/affichage-ecran comme declencheurs, et surbrillance, video, son, visibilite, indication, attendre comme actions, utilisables aussi bien par l'editeur manuel (menu lateral Objets/Ecran) que par Ruby (IA), avec blocs deplacables/supprimables dans une chaine. - Corrige plusieurs variantes du bug "impossible de poser un objet hors du champ de la camera" (troncature du chainage d'actions a 4 maillons, fond importe pose a 128x128 au lieu de sa taille reelle, decalage du fond au vrai glisser-depose, redimensionnement manuel jamais propage au monde). - Ajoute un vrai glisser-depose depuis la galerie vers la scene, la gestion complete de "Mes assets" (sous-sections Fonds/Decors/Sons/ Videos, suppression, reclassement fond<->decor sans re-upload). - Ajoute l'upload de son (limite 3 min) et de video (MP4 uniquement, limite 5 min), avec validation de la duree reelle du fichier, et une replique audio optionnelle dans une bulle de dialogue. - Fixe la taille de pose d'un objet/decor importe a 200x200 avec une boite de collision de 150x150. - Filtre le selecteur de fichier des actions son/video par type reel. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
b07b231a61
commit
559331f9cf
@@ -0,0 +1,25 @@
|
||||
import os
|
||||
|
||||
# "image"/"audio"/"video"/"other" d'après l'EXTENSION du fichier (voir
|
||||
# _user_assets.filename, auth/save_user_asset.py) — pas de colonne dédiée
|
||||
# en base : l'extension suffit, jamais ambiguë ici (tout upload passe par
|
||||
# routes/assets/upload_user_asset.py, qui valide déjà le contenu pour un
|
||||
# son, voir MAX_AUDIO_SECONDS). Utilisé pour organiser "Mes assets" en
|
||||
# sous-sections (demande explicite : "voir, utiliser ou supprimer des
|
||||
# son, image et vidéo", voir templates/scene_edit.html) — le sélecteur de
|
||||
# fichier des actions "son"/"vidéo" (user_assets_options_json,
|
||||
# routes/scenes/scene_edit_view.py), lui, liste TOUT sans distinction.
|
||||
_IMAGE_EXTENSIONS = {".png", ".jpg", ".jpeg", ".gif", ".webp", ".svg", ".bmp"}
|
||||
_AUDIO_EXTENSIONS = {".mp3", ".wav", ".ogg", ".m4a", ".aac", ".flac"}
|
||||
_VIDEO_EXTENSIONS = {".mp4", ".webm", ".mov", ".avi", ".ogv"}
|
||||
|
||||
|
||||
def user_asset_kind(filename):
|
||||
ext = os.path.splitext(filename)[1].lower()
|
||||
if ext in _IMAGE_EXTENSIONS:
|
||||
return "image"
|
||||
if ext in _AUDIO_EXTENSIONS:
|
||||
return "audio"
|
||||
if ext in _VIDEO_EXTENSIONS:
|
||||
return "video"
|
||||
return "other"
|
||||
Reference in New Issue
Block a user