Improve speaker search prompt

This commit is contained in:
DazedAnon 2026-04-28 14:51:59 -05:00
parent a4d9d3ae84
commit d708ec4217

View file

@ -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<Name>, and \\\\k<Name>\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 <known_speakers> list was provided, output entries for ONLY those names. "
"Skip unnamed NPCs, generic enemies, and narration-only entries.\n"
"- If a <known_speakers> 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"
"</task>\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"
"<actor_context>\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"
"</actor_context>\n"
"\n"
"<audit_1 code=\"122\">\n"
"Code 122 — Control Variables — which variable IDs carry display text\n"