From d708ec4217e8a43915d4cfdee4418a4f9148bdc7 Mon Sep 17 00:00:00 2001 From: DazedAnon Date: Tue, 28 Apr 2026 14:51:59 -0500 Subject: [PATCH] Improve speaker search prompt --- gui/workflow_tab.py | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/gui/workflow_tab.py b/gui/workflow_tab.py index 41d5a31..e6d63f2 100644 --- a/gui/workflow_tab.py +++ b/gui/workflow_tab.py @@ -931,13 +931,18 @@ class WorkflowTab(QWidget): "you will hit context limits. Use this strategy:\n" "\n" "1. Read these small DB files IN FULL first — richest source of names, always small:\n" - " Actors.json, Classes.json, Troops.json, Skills.json, Items.json,\n" + " Actors.json is mandatory for major character vocab. Use it as the canonical source " + "for actor IDs, Japanese names, nicknames, profiles, and \\N[n] name mappings.\n" + " Then read Classes.json, Troops.json, Skills.json, Items.json,\n" " Armors.json, Weapons.json, States.json, System.json\n" "\n" - "2. For large files (CommonEvents.json, Map*.json), SEARCH (grep) for named character " - "patterns only:\n" - " - 【, \\\\n<, \\\\k< patterns in parameters fields\n" - " - Capitalised katakana clusters or kanji compound proper nouns in message/parameters fields\n" + "2. For large files (CommonEvents.json, Map*.json), SEARCH (grep) instead of reading " + "sequentially. Prioritise dialogue commands because they are the best evidence for " + "character voice:\n" + " - Code 401 dialogue lines, plus nearby code 101 speaker/name parameters\n" + " - Code 405 scrolling text when present\n" + " - Speaker patterns such as 【Name】, [Name], Name:, \\\\n, and \\\\k\n" + " - Capitalised katakana clusters or kanji compound proper nouns in dialogue/parameters fields\n" " Scan Map001.json through Map010.json at most — early maps have the most story content.\n" "\n" "3. Stop once you stop finding new names or terms. Do not pad the output.\n" @@ -952,12 +957,19 @@ class WorkflowTab(QWidget): "- Never give two spelling options (e.g. 'Sylfia / Sylphia' is wrong). Commit to one translation.\n" "\n" "# Game Characters — rules:\n" - "- If a list was provided, output entries for ONLY those names. " - "Skip unnamed NPCs, generic enemies, and narration-only entries.\n" + "- If a list was provided, output entries for those names, then cross-check " + "Actors.json for major named actors that should also be included. Skip unnamed NPCs, generic " + "enemies, and narration-only entries.\n" "- If no list was provided, discover named characters from the files, but still skip " "unnamed NPCs and generic enemy types.\n" "- For each character include: gender, role, speech register, personality, and whether " "the name is player-chosen (check Actors.json ID 1).\n" + "- Any actor in Actors.json with a real name should get a full # Game Characters entry, " + "not only a \\N[n] placeholder mapping. If events reference \\N[3] or [EnglishName], " + "resolve it through Actors.json ID 3 and preserve the full character context.\n" + "- Event references are supporting evidence for personality/speech, but they must not " + "replace actor-database discovery. Do not miss major characters just because they appear " + "primarily in Actors.json.\n" "\n" "# Worldbuilding Terms — rules:\n" "- Include: faction/organisation names, locations mentioned in dialogue but not on maps, " @@ -1186,7 +1198,15 @@ class WorkflowTab(QWidget): "ranges carry display text versus internal keys.\n" "\n" "\n" - "--- attach CommonEvents.json, Troops.json, Map*.json, and js/plugins.js here ---\n" + "--- attach Actors.json, CommonEvents.json, Troops.json, Map*.json, and js/plugins.js here ---\n" + "\n" + "\n" + "Read Actors.json in full before auditing event commands. Use it to resolve actor IDs, " + "\\N[n] references, and code 320/324/325 targets. If you see an event reference to a " + "major actor whose full character vocab is missing or only appears as a placeholder " + "mapping like \\N[3] (Keimi), report that Actors.json should be included in the glossary " + "build and that a full # Game Characters entry is needed.\n" + "\n" "\n" "\n" "Code 122 — Control Variables — which variable IDs carry display text\n"