Dialogues de quête : bulles illimitées, n'importe quel objet, timeline reliée
Build and deploy / test-python (push) Successful in 7m32s
Build and deploy / test-js (push) Successful in 1m2s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped

- "qui parle" n'est plus réservé au personnage : N'IMPORTE QUEL objet de
  scène nommé (personnage, décor, fond — voir "ℹ️ Informations",
  screens/rendering/scene_object_names.py, ex-personnage_names.py) peut
  parler dans un dialogue.
- Confirmé/documenté : aucune limite au nombre de répliques par colonne
  (bouton "+ Réplique" reste toujours disponible).
- Bulle = header (menu déroulant du "qui parle") + body (le texte),
  centrée dans sa colonne à 70% de largeur, alignée verticalement et
  reliée à la suivante par un trait — remplace l'ancien alignement
  gauche/droite façon chat.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
william
2026-09-03 11:54:06 +02:00
co-authored by Claude Sonnet 5
parent 2347a70c45
commit 521792fe00
11 changed files with 105 additions and 67 deletions
+12 -8
View File
@@ -268,16 +268,19 @@
</form>
</div>
{% if obj.kind == 'personnage' %}
<!-- "ℹ️ Informations" : le nom donné au personnage (voir
screens/scenes/set_scene_object_name.py) — c'est CE nom qui est
ensuite proposé comme "qui parle" dans l'éditeur de dialogue de
quête (voir "🗺️ Quêtes", static/js/quests/quest-editor.js). -->
{% if obj.kind != 'dialogue_box' %}
<!-- "ℹ️ Informations" : le nom donné à L'OBJET (voir
screens/scenes/set_scene_object_name.py) — n'importe quel kind
(personnage, décor, fond), pas seulement un personnage — c'est
CE nom qui est ensuite proposé comme "qui parle" dans l'éditeur
de dialogue de quête (voir "🗺️ Quêtes", static/js/quests/
quest-editor.js) : un dialogue peut mettre en scène n'importe
quel objet, pas seulement un personnage. -->
<details class="propGroup" open>
<summary>ℹ️ Informations</summary>
<div class="propGroupBody">
<div class="field">
<label class="label is-small">Nom du personnage</label>
<label class="label is-small">Nom de l'objet</label>
<div class="control"><input class="input is-small" type="text" id="scene-obj-name" value="{{ obj.name or '' }}" placeholder="ex. Le Sorcier" onchange="saveSceneObjectName({{ obj.id }}, this.value)"></div>
</div>
</div>
@@ -556,8 +559,9 @@
// "+ Action" ouvre directement cet éditeur (renderQuestPickerStep).
var QUESTS_JSON = {{ quests_json|safe }};
// "qui parle" dans l'éditeur de dialogue (voir "ℹ️ Informations" +
// static/js/quests/quest-editor.js::questSpeakerOptions).
var PERSONNAGE_NAMES_JSON = {{ personnage_names_json|safe }};
// static/js/quests/quest-editor.js::questSpeakerOptions) — n'importe
// quel objet de scène nommé, pas seulement un personnage.
var SCENE_OBJECT_NAMES_JSON = {{ scene_object_names_json|safe }};
</script>
<script src="{{ url_for('static', filename='js/screen_edit/tree-panels.js') }}"></script>
<script src="{{ url_for('static', filename='js/screen_edit/panel-init.js') }}"></script>