Éditeur : le canevas affiche tout le monde (fond agrandi), pas que la scène
Suite au fix du glisser figé à (0,0) : le canevas de l'éditeur restait malgré tout limité à la scène nominale (960×540 par ex.) — la partie d'un "fond" plus grand qui dépasse restait invisible/injoignable à la souris. Le canevas affiche désormais tout le "monde" (max de la scène et de l'étendue de chaque "fond", voir routes/scenes/scene_edit_view.py), comme la caméra en jeu le fait déjà (personnage-controller.js). Nouveau repère visuel "🎥 Champ de la caméra" : un cadre en pointillés marquant où s'arrête la scène nominale à l'intérieur de ce monde agrandi (le reste est assombri), pour que l'auteur voie clairement ce que le joueur verra réellement à l'écran une fois le monde plus grand que le viewport. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
6b4846a646
commit
14ec76dddd
@@ -121,7 +121,20 @@
|
||||
|
||||
<div class="builderTabPanel active" data-tab-panel="screen">
|
||||
<div class="canvasFrame">
|
||||
<div class="canvas" id="canvas" style="width:{{ screen.scene_width }}px; height:{{ screen.scene_height }}px; aspect-ratio:auto; margin:0 auto; position:relative; overflow:hidden; background:#1a1d24;">
|
||||
<div class="canvas" id="canvas" style="width:{{ world_width }}px; height:{{ world_height }}px; aspect-ratio:auto; margin:0 auto; position:relative; overflow:hidden; background:#1a1d24;">
|
||||
{% if world_width > screen.scene_width or world_height > screen.scene_height %}
|
||||
<!-- "🎥 Champ de la caméra" : le monde (ce canevas, voir
|
||||
world_width/world_height ci-dessus, routes/scenes/
|
||||
scene_edit_view.py) peut être plus grand que la scène
|
||||
nominale dès qu'un "fond" plus grand qu'elle est posé — ce
|
||||
cadre en pointillés marque où s'arrête ce que la caméra
|
||||
montre RÉELLEMENT en jeu (voir static/js/play/personnage-
|
||||
controller.js::forgeUpdateSceneCamera), pour que le monde
|
||||
agrandi reste lisible plutôt qu'une simple étendue grise
|
||||
sans repère. Purement visuel (pointer-events:none) : ne
|
||||
gêne jamais la sélection/le glisser d'un objet dessous. -->
|
||||
<div class="sceneCameraFrame" style="width:{{ screen.scene_width }}px; height:{{ screen.scene_height }}px;" title="Champ de la caméra en jeu ({{ screen.scene_width }}×{{ screen.scene_height }} px)"></div>
|
||||
{% endif %}
|
||||
{% for o in objects %}
|
||||
<div class="canvasElement {{ 'selected' if o.id == selected_id else '' }}" id="el-{{ o.id }}"
|
||||
style="position:absolute; left:{{ o.x }}px; top:{{ o.y }}px; width:{{ o.width }}px; height:{{ o.height }}px;"
|
||||
@@ -532,8 +545,13 @@
|
||||
var GAME_SLUG = "{{ game.slug }}";
|
||||
var SCREEN_ID = {{ screen.id }};
|
||||
var SCREEN_EDIT_URL = "{{ url_for('screen_edit', slug=game.slug, screen_id=screen.id) }}";
|
||||
var SCENE_WIDTH = {{ screen.scene_width }};
|
||||
var SCENE_HEIGHT = {{ screen.scene_height }};
|
||||
// Borne le glisser-déposer/redimensionnement (static/js/scenes/
|
||||
// scene-editor.js) au MONDE affiché (voir world_width/world_height,
|
||||
// routes/scenes/scene_edit_view.py) — pas seulement à la scène
|
||||
// nominale, sinon un "fond" plus grand qu'elle (voir "🎥 Champ de la
|
||||
// caméra" ci-dessus) resterait injoignable par endroits une fois agrandi.
|
||||
var SCENE_WIDTH = {{ world_width }};
|
||||
var SCENE_HEIGHT = {{ world_height }};
|
||||
var CURRENT_SELECTED_ID = {{ selected_id or 'null' }};
|
||||
var DEFINITIONS_DATA = {{ definitions_json|safe }};
|
||||
var DEFINITIONS_NAMES = {{ definitions_names_json|safe }};
|
||||
|
||||
Reference in New Issue
Block a user