From dde6c76aa985a3ceca787253eeee96951f8e760d Mon Sep 17 00:00:00 2001
From: vegu-ai-tools <152010387+vegu-ai-tools@users.noreply.github.com>
Date: Thu, 20 Nov 2025 11:41:26 +0200
Subject: [PATCH] Add writing style template selection to CharacterCardImport
component and update scene loading logic to apply selected template
---
src/talemate/load/character_card.py | 7 +++++
.../src/components/CharacterCardImport.vue | 30 +++++++++++++++++++
.../src/components/LoadScene.vue | 5 ++--
.../src/components/TalemateApp.vue | 1 +
4 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/src/talemate/load/character_card.py b/src/talemate/load/character_card.py
index 6a839fa7..a3155e1c 100644
--- a/src/talemate/load/character_card.py
+++ b/src/talemate/load/character_card.py
@@ -137,6 +137,9 @@ class CharacterCardImportOptions(pydantic.BaseModel):
player_character_existing: str | None = None # detected character name
player_character_import: PlayerCharacterImport | None = None
+ # Scene settings
+ writing_style_template: str | None = None # Format: "group__template_uid"
+
# Internal: track pending asset transfers (deferred until scene name is set)
_pending_asset_transfers: list[AssetTransfer] = pydantic.PrivateAttr(
default_factory=list
@@ -1098,6 +1101,10 @@ async def load_scene_from_character_card(
# Set scene name: use spec's name field if available, otherwise use first character name
scene.name = scene_name if scene_name else first_character.name
+ # Set writing style template if provided
+ if import_options.writing_style_template:
+ scene.writing_style_template = import_options.writing_style_template
+
# Initialize memory and load character book entries (only once, for first character)
await _initialize_scene_memory(
scene,
diff --git a/talemate_frontend/src/components/CharacterCardImport.vue b/talemate_frontend/src/components/CharacterCardImport.vue
index 059d60cd..2b0b561f 100644
--- a/talemate_frontend/src/components/CharacterCardImport.vue
+++ b/talemate_frontend/src/components/CharacterCardImport.vue
@@ -90,6 +90,20 @@
+
+
+
+
+
@@ -327,6 +341,9 @@