Bouton "📐 Agrandir la caméra à la zone visible"
Build and deploy / test-python (push) Failing after 1m23s
Build and deploy / test-js (push) Successful in 54s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped

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:
william
2026-09-03 17:07:24 +02:00
co-authored by Claude Sonnet 5
parent 14ec76dddd
commit b9d3c46087
7 changed files with 100 additions and 3 deletions
+1
View File
@@ -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
+19
View File
@@ -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()