Bouton "📐 Agrandir la caméra à la zone visible"
Fait de tout le "monde" affiché par l'éditeur (la taille réelle d'un "fond" plus grand que la scène nominale, voir routes/scenes/ scene_edit_view.py::world_width/world_height) la scène/caméra ELLE-MÊME — jusqu'ici scene_width/scene_height n'étaient fixées qu'à la création de l'écran, jamais modifiables ensuite. Le bouton n'apparaît que quand un fond dépasse encore la scène nominale (même condition que le repère "🎥 Champ de la caméra"), affiche la taille cible, recharge la page une fois appliqué. La caméra ne recadre alors plus rien en jeu (monde == scène == viewport, voir personnage-controller.js::forgeUpdateSceneCamera). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
14ec76dddd
commit
b9d3c46087
@@ -100,6 +100,7 @@ from .screens_repo.delete_screen import delete_screen
|
||||
from .screens_repo.move_screen import move_screen
|
||||
from .screens_repo.screens_referencing import screens_referencing
|
||||
from .screens_repo.set_screen_aspect import set_screen_aspect
|
||||
from .screens_repo.set_scene_size import set_scene_size
|
||||
from .screens_repo.set_screen_background_music import set_screen_background_music
|
||||
|
||||
from .elements.list_elements import list_elements
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
import db
|
||||
|
||||
|
||||
def set_scene_size(slug, screen_id, width, height):
|
||||
"""Redimensionne la scène/caméra elle-même (colonnes scene_width/
|
||||
scene_height, voir ensure_schema.py) — jusqu'ici fixées à la création
|
||||
et jamais modifiables ensuite. Utilisé par "📐 Agrandir la caméra à la
|
||||
zone visible" (templates/scene_edit.html) : quand un "fond" plus
|
||||
grand que la scène nominale l'a fait déborder dans le "monde" affiché
|
||||
par l'éditeur (voir routes/scenes/scene_edit_view.py::world_width/
|
||||
world_height), ce bouton fait de CE monde la scène elle-même — la
|
||||
caméra ne recadre alors plus rien (voir personnage-controller.js::
|
||||
forgeUpdateSceneCamera, sans effet dès que monde == scène)."""
|
||||
width = max(1, int(width))
|
||||
height = max(1, int(height))
|
||||
conn = db.connect(slug)
|
||||
conn.execute("UPDATE _screens SET scene_width = ?, scene_height = ? WHERE id = ?", (width, height, screen_id))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
Reference in New Issue
Block a user