Contrôle direct de la taille de la caméra (Largeur × Hauteur, toujours modifiable)
Remplace le bouton conditionnel "Agrandir la caméra à la zone visible" (n'apparaissait que si un fond dépassait déjà la scène) par deux champs "Caméra (px)" TOUJOURS visibles, pré-remplis avec scene_width/ scene_height actuels — demande explicite : "l'écran de l'éditeur a une taille fixe, la caméra a la même taille, c'est tout", un réglage direct plutôt qu'une suggestion automatique liée à la taille d'un fond. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
b9d3c46087
commit
55c6bb330b
@@ -214,6 +214,12 @@ def test_scene_edit_view_world_matches_scene_when_no_oversized_fond(client, tmp_
|
||||
html = client.get(f"/game/{slug}/screens/{screen_id}/edit").get_data(as_text=True)
|
||||
assert 'id="canvas" style="width:960px; height:540px;' in html
|
||||
assert "sceneCameraFrame" not in html
|
||||
# "Caméra (px)" : TOUJOURS modifiable, même sans fond qui dépasse
|
||||
# (demande explicite : "l'écran de l'éditeur a une taille fixe, la
|
||||
# caméra a la même taille, c'est tout" — un réglage direct, pas
|
||||
# seulement suggéré automatiquement).
|
||||
assert 'id="scene-camera-w" class="input is-small" style="width:80px;" min="1" value="960"' in html
|
||||
assert 'id="scene-camera-h" class="input is-small" style="width:80px;" min="1" value="540"' in html
|
||||
|
||||
|
||||
def test_scene_edit_view_expands_world_for_an_oversized_fond(client, tmp_game_slug_cleanup):
|
||||
@@ -242,9 +248,9 @@ def test_scene_edit_view_world_bounds_are_used_for_drag_clamping(client, tmp_gam
|
||||
|
||||
|
||||
def test_set_scene_size_updates_screen_dimensions(tmp_game_slug_cleanup):
|
||||
""""📐 Agrandir la caméra à la zone visible" (voir templates/
|
||||
scene_edit.html) : fait du "monde" affiché la scène/caméra
|
||||
elle-même — jusqu'ici fixée à la création et jamais modifiable."""
|
||||
""""Caméra (px)" (voir templates/scene_edit.html) : jusqu'ici
|
||||
scene_width/scene_height n'étaient fixées qu'à la création de
|
||||
l'écran, jamais modifiables ensuite."""
|
||||
slug = tmp_game_slug_cleanup(db.create_game("pytest_scene_size"))
|
||||
screen_id = screens.create_screen(slug, "Scène 1", kind="jeu_2d")
|
||||
screens.set_scene_size(slug, screen_id, 1920, 1080)
|
||||
@@ -262,9 +268,12 @@ def test_screen_set_scene_size_route_persists_and_reflects_in_editor(client, tmp
|
||||
assert resp.get_json() == {"ok": True}
|
||||
html = client.get(f"/game/{slug}/screens/{screen_id}/edit").get_data(as_text=True)
|
||||
assert 'id="canvas" style="width:1920px; height:1080px;' in html
|
||||
# La scène nominale == le monde désormais -> plus de repère caméra ni de bouton.
|
||||
# La scène nominale == le monde désormais -> plus de repère caméra.
|
||||
assert "sceneCameraFrame" not in html
|
||||
assert "Agrandir la caméra" not in html
|
||||
# Les champs "Caméra (px)" restent TOUJOURS visibles (pas conditionnels),
|
||||
# pré-remplis avec la nouvelle taille.
|
||||
assert 'id="scene-camera-w" class="input is-small" style="width:80px;" min="1" value="1920"' in html
|
||||
assert 'id="scene-camera-h" class="input is-small" style="width:80px;" min="1" value="1080"' in html
|
||||
|
||||
|
||||
def test_screen_set_scene_size_route_rejects_invalid_dimensions(client, tmp_game_slug_cleanup):
|
||||
|
||||
Reference in New Issue
Block a user