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 -1
View File
@@ -1 +1 @@
from . import screens_new, screen_rename, screen_move, screen_delete, screen_edit, screen_set_aspect, screen_set_background_music
from . import screens_new, screen_rename, screen_move, screen_delete, screen_edit, screen_set_aspect, screen_set_background_music, screen_set_scene_size
+20
View File
@@ -0,0 +1,20 @@
from flask import request, jsonify
import screens
from core.flask_app import app
@app.route("/game/<slug>/screens/<int:screen_id>/scene-size", methods=["POST"])
def screen_set_scene_size(slug, screen_id):
""""📐 Agrandir la caméra à la zone visible" (voir templates/
scene_edit.html) — redimensionne la scène/caméra elle-même à la
taille du "monde" affiché (world_width/world_height, voir
routes/scenes/scene_edit_view.py), calculée et postée par le client."""
body = request.get_json(silent=True) or {}
try:
width, height = int(body.get("width")), int(body.get("height"))
except (TypeError, ValueError):
return jsonify({"error": "largeur/hauteur invalides"}), 400
screens.set_scene_size(slug, screen_id, width, height)
return jsonify({"ok": True})