Files
999/lib/services/passport_schema_dart.dart

942 lines
62 KiB
Dart

// GENERATED FILE - DO NOT EDIT MANUALLY
// Passport Schema & Pre-Prompt Generator for Oracle 999
import '../models/word_model.dart';
class PassportFieldDef {
final int index;
final String key;
final String sectionNum;
final String sectionTitle;
final String title;
final String promptTemplate;
final String formatTemplate;
const PassportFieldDef({
required this.index,
required this.key,
required this.sectionNum,
required this.sectionTitle,
required this.title,
required this.promptTemplate,
required this.formatTemplate,
});
String buildPrompt(WordItem word) {
final idPad = word.sessionNumber.toString().padLeft(3, '0');
final wordName = word.word;
final emoji = word.emoji;
final pos = word.partOfSpeech.isNotEmpty ? word.partOfSpeech : 'существительное';
final cat = word.category.isNotEmpty ? word.category : 'Образ / Архетип';
var t = promptTemplate;
t = t.replaceAll('{word}', wordName);
t = t.replaceAll('{id_pad}', idPad);
t = t.replaceAll('{emoji}', emoji);
t = t.replaceAll('{pos}', pos);
t = t.replaceAll('{cat}', cat);
t = t.replaceAll('{word_upper}', wordName.toUpperCase());
t = t.replaceAll('{extra}', '');
return t;
}
}
const List<PassportFieldDef> kPassportFields78 = [
PassportFieldDef(
index: 1,
key: 'index_and_name',
sectionNum: 'I',
sectionTitle: "Заголовочный паспорт (Метаданные реестра)",
title: "Индекс и имя",
promptTemplate: "Для сакрального знака «{word}» (ID: {id_pad}) системы «Оракул» сформируй каноническую заголовочную строку строго по шаблону: «[НОМЕР 000–999] | [СЛОВО В ВЕРХНЕМ РЕГИСТРЕ] | [2–4 ТОЧНЫХ ЭМОДЗИ/ГЛИФА]». Подбери наиболее точные символические эмодзи, передающие метафизическую сущность знака. Верни только эту одну строку.",
formatTemplate: "{id_pad} | {word_upper} | {emojis}",
),
PassportFieldDef(
index: 2,
key: 'grammatical_class',
sectionNum: 'I',
sectionTitle: "Заголовочный паспорт (Метаданные реестра)",
title: "Грамматический класс",
promptTemplate: "Для слова «{word}» укажи точный грамматический класс в русском языке, выбрав строго один вариант из списка: существительное, глагол, прилагательное, наречие, числительное, предлог, местоимение. Верни только одно слово — выбранный грамматический класс в нижнем регистре.",
formatTemplate: "{pos}",
),
PassportFieldDef(
index: 3,
key: 'functional_category',
sectionNum: 'I',
sectionTitle: "Заголовочный паспорт (Метаданные реестра)",
title: "Функциональная категория",
promptTemplate: "Для знака «{word}» (часть речи: {pos}) определи наиболее точную функциональную категорию Оракула 999. Выбери строго один вариант из канонического перечня: Образ / Архетип, Космический Знак, Священный Предмет, Сакральный Символ, Сакральное Место, Тотем, Архетип Человека, Действие / Трансформация, Свойство / Качество, Вектор / Направление, Числовой код, Фокус сознания. Верни только точное название категории.",
formatTemplate: "{category}",
),
PassportFieldDef(
index: 4,
key: 'network_status',
sectionNum: 'I',
sectionTitle: "Заголовочный паспорт (Метаданные реестра)",
title: "Сетевой статус",
promptTemplate: "Для знака «{word}» определи сетевой статус в матрице кросс-мантических соответствий Оракула 999. Укажи: является ли знак 'Узловой станцией' (прямой первичный якорь или узел пересечения традиций, перечисли ключевые традиции в скобках) ИЛИ 'Свободным знаком' (автономный архетип поля). Кратко обоснуй формулировку в одну строку.",
formatTemplate: "{network_status}",
),
PassportFieldDef(
index: 5,
key: 'mantic_runes',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Старший Футарк (Руны)",
promptTemplate: "Определи соответствие знака «{word}» в скандинавском Старшем Футарке (24 руны). Укажи строго по шаблону: [Имя руны / Роль: Первичное, Пересечение или Архетипическая аналогия / Смысловые сиблинги в лексиконе 999]. Кратко укажи атт руны и закон действия.",
formatTemplate: "[{rune_name} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 6,
key: 'mantic_ogham',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Кельтский Огам",
promptTemplate: "Определи соответствие знака «{word}» в кельтском Огаме (20 сакральных деревьев священной рощи друидов). Укажи: [Имя феды и дерева / Роль: Первичное или Пересечение / Сиблинги]. Укажи айкме и природно-тотемический смысл.",
formatTemplate: "[{feda_name} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 7,
key: 'mantic_tarot',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Старшие Арканы Таро",
promptTemplate: "Определи соответствие знака «{word}» в Старших Арканах Таро (0 Шут — XXI Мир). Укажи: [Номер и название Аркана / Роль: Первичный архетип, Эманация или Пересечение / Родственные карты и сиблинги 999]. Опиши архетипический узел.",
formatTemplate: "[{arcanum} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 8,
key: 'mantic_lenormand',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Малая колода Ленорман",
promptTemplate: "Определи соответствие знака «{word}» в малой французской колоде Ленорман (36 карт от Всадника до Креста). Укажи: [Номер и название карты / Роль / Сиблинги]. Приведи ключевые синтагматические связки.",
formatTemplate: "[{card} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 9,
key: 'mantic_kabbalah',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Каббала / Древо Жизни",
promptTemplate: "Определи соответствие знака «{word}» в Каббале и Древе Жизни (Эц Хаим). Укажи: [Сфира (Кетер..Малкут) или Буквенный Путь между сфирот / Столп (Милосердие/Суровость/Равновесие) / Роль / Сиблинги].",
formatTemplate: "[{sephira_or_path} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 10,
key: 'mantic_geomancy',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Арабская Геомантия ('Илм ар-Рамл)",
promptTemplate: "Определи соответствие знака «{word}» среди 16 священных фигур Арабской Геомантии ('Илм ар-Рамл: Via, Populus, Fortuna Major/Minor, Acquisitio, Amissio, Conjunctio, Carcer, Albus, Rubeus, Puella, Puer, Tristitia, Laetitia, Caput/Cauda Draconis). Укажи: [Имя фигуры (латынь/арабский) / Стихийная тетраграмма / Роль / Сиблинги].",
formatTemplate: "[{figure} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 11,
key: 'mantic_iching',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "И Цзин (Книга Перемен)",
promptTemplate: "Определи соответствие знака «{word}» в древнекитайской Книге Перемен (И Цзин). Укажи: [Номер и китайское/русское имя гексаграммы / Верхняя и нижняя триграммы Багуа / Роль / Сиблинги].",
formatTemplate: "[{hexagram} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 12,
key: 'mantic_alchemy',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Алхимия (Magnum Opus)",
promptTemplate: "Определи соответствие знака «{word}» в герметической Алхимии (Magnum Opus). Укажи: [Стадия (Nigredo, Albedo, Citrinitas, Rubedo) / Алхимическая операция (кальцинация, дистилляция, конъюнкция и др.) / Роль / Сиблинги].",
formatTemplate: "[{stage_or_element} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 13,
key: 'mantic_zodiac_west',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Классический Зодиак",
promptTemplate: "Определи соответствие знака «{word}» в классическом западном Зодиаке. Укажи: [Знак (Овен — Рыбы) / Планетарный управитель / Стихия и крест качеств / Роль / Сиблинги].",
formatTemplate: "[{zodiac_sign} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 14,
key: 'mantic_zodiac_chinese',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Китайский Зодиак",
promptTemplate: "Определи соответствие знака «{word}» в китайском Зодиаке (12 Земных Ветвей). Укажи: [Земная Ветвь и тотем (Крыса — Свинья) / Стихия У-Син / Инь или Ян / Роль / Сиблинги].",
formatTemplate: "[{branch} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 15,
key: 'mantic_septener',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Септенер",
promptTemplate: "Определи соответствие знака «{word}» в космическом Септенере (7 священных планет древности и 7 дней недели: Луна/Пн..Солнце/Вс). Укажи: [Планета / День недели / Роль / Сиблинги].",
formatTemplate: "[{planet_day} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 16,
key: 'mantic_dodecade',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Додекада Месяцев",
promptTemplate: "Определи соответствие знака «{word}» в солярной Додекаде (12 месяцев года). Укажи: [Месяц года / Сезонное дыхание / Солярные врата (равноденствие/солнцестояние) / Роль / Сиблинги].",
formatTemplate: "[{month_season} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 17,
key: 'mantic_numerology',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Нумерология",
promptTemplate: "Определи нумерологический код знака «{word}» с учётом его ID: {id_pad} и внутренней вибрации. Укажи: [Базовое число (1–9, 11, 22) / Качество числа / Связь с ячейкой Квадрата Пифагора / Роль / Сиблинги].",
formatTemplate: "[{number} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 18,
key: 'mantic_cosmology',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Космология Трёх Миров",
promptTemplate: "Определи топологию знака «{word}» в Космологии Трёх Миров: Верхний Мир (дух, сверхсознание, ноосфера), Срединный Мир (материя, социум, явь) или Нижний Мир (тень, хтоническое, навь), либо Мировая Ось (Axis Mundi). Укажи: [Мир / Локация на Мировом Древе / Роль / Сиблинги].",
formatTemplate: "[{world_axis} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 19,
key: 'mantic_tzolkin',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "20 Навалей Цолькин (Майя)",
promptTemplate: "Определи соответствие знака «{word}» среди 20 священных Навалей календаря Майя Цолькин (Имиш, Ик, Акбаль, Кан, Чикчан, Кими, Маник, Ламат, Мулук, Ок, Чуэн, Эб, Бен, Хиш, Мен, Киб, Кабан, Эцнаб, Кавак, Ахау). Укажи: [Имя Наваля / Тотем и стихия / Энергия дня / Роль / Сиблинги].",
formatTemplate: "[{nahual} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 20,
key: 'mantic_nakshatras',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "27 Накшатр Джйотиш (Индия)",
promptTemplate: "Определи соответствие знака «{word}» в системе 27 Накшатр (лунных стоянок) ведической астрологии Джйотиш (от Ашвини до Ревати). Укажи: [Имя Накшатры / Правящее божество (Девата) / Символ / Сакральное качество / Роль / Сиблинги].",
formatTemplate: "[{nakshatra} / Роль: {role} / Сиблинги: {siblings}]",
),
PassportFieldDef(
index: 21,
key: 'mantic_station_laws',
sectionNum: 'II',
sectionTitle: "Кросс-мантическая сеть и станции",
title: "Действующие законы станций (выжимка)",
promptTemplate: "Для знака «{word}» сформулируй концентрированную смысловую выжимку действующих сакральных законов тех мантических станций, на которых этот знак активирован. Как эти традиции сходятся в одну монолитную формулу? Сформулируй плотно в 2–4 предложения.",
formatTemplate: "{laws_summary}",
),
PassportFieldDef(
index: 22,
key: 'etymology_roots',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Этимология и праформы",
promptTemplate: "Для слова «{word}» реконструируй древнейшие праформы и этимологию: праиндоевропейский корень (*PIE) или иной праязыковый корень, его первичный конкретно-физический смысл до абстрактного обобщения и исторический путь семантического сдвига. Сформулируй ёмко и академически точно.",
formatTemplate: "{etymology}",
),
PassportFieldDef(
index: 23,
key: 'script_sumer_akkad',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Шумер / Аккад",
promptTemplate: "Для понятия «{word}» приведи клинописный эквивалент шумеро-аккадской традиции: [Клинописный знак или транслитерация / Шумерское или аккадское название / Фонетическое чтение и сакральное значение].",
formatTemplate: "[{sign} / {name} / {phonetics}]",
),
PassportFieldDef(
index: 24,
key: 'script_egypt',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Древний Египет",
promptTemplate: "Для понятия «{word}» приведи древнеегипетский иероглифический аналог: [Иероглиф или описание детерминатива / Научная транскрипция / Священное религиозное значение в мифе об Осирисе/Ра].",
formatTemplate: "[{hieroglyph} / {transcription} / {meaning}]",
),
PassportFieldDef(
index: 25,
key: 'script_hebrew',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Иудейская традиция",
promptTemplate: "Для понятия «{word}» приведи соответствие на библейском иврите: [Слово на иврите с огласовками / Буквенно-мистический код / Числовое значение гематрии и каббалистический смысл].",
formatTemplate: "[{hebrew_word} / {letter_code} / {gematria}]",
),
PassportFieldDef(
index: 26,
key: 'script_antiquity',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Античность",
promptTemplate: "Для понятия «{word}» приведи античные термины: [Древнегреческий термин с ударением / Классическая латынь / Философский концепт греко-римской античности].",
formatTemplate: "[{greek} / {latin} / {concept}]",
),
PassportFieldDef(
index: 27,
key: 'script_celtic',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Кельты",
promptTemplate: "Для понятия «{word}» приведи кельтский аналог: [Огамическая буква или знак / Древнеирландский термин / Мифологический контекст друидов].",
formatTemplate: "[{ogham_letter} / {old_irish}]",
),
PassportFieldDef(
index: 28,
key: 'script_runic_germanic',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Скандинавы / Германцы",
promptTemplate: "Для понятия «{word}» приведи скандинавско-германский аналог: [Руна / Древнескандинавский или прагерманский термин / Значение в мифологии Старшей Эдды].",
formatTemplate: "[{rune} / {old_norse}]",
),
PassportFieldDef(
index: 29,
key: 'script_slavic',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Славяне",
promptTemplate: "Для слова «{word}» приведи древнеславянский срез: [Праславянский корень (*) / Глаголическая буква или буквица / Сакральное мифопоэтическое значение в славянской традиции].",
formatTemplate: "[{proto_slavic} / {glagolitic} / {meaning}]",
),
PassportFieldDef(
index: 30,
key: 'script_india_sanskrit',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Ведическая Индия",
promptTemplate: "Для понятия «{word}» приведи ведический/санскритский срез: [Слово письмом деванагари / Транслитерация IAST / Санскритский корень (дхату) и философский смысл в Упанишадах].",
formatTemplate: "[{devanagari} / {sanskrit_iast} / {root}]",
),
PassportFieldDef(
index: 31,
key: 'script_persia',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Персия",
promptTemplate: "Для понятия «{word}» приведи персидский аналог: [Авестийский или пехлевийский термин / Его роль в зороастрийской космологии Авесты].",
formatTemplate: "[{avestan_or_pahlavi} / {meaning}]",
),
PassportFieldDef(
index: 32,
key: 'script_china',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Китай",
promptTemplate: "Для понятия «{word}» приведи древнекитайский иероглифический образ: [Иероглиф / Транскрипция пиньинь / Разбор пиктографических ключей древнего начертания и даосский смысл].",
formatTemplate: "[{hanzi} / {pinyin} / {pictogram_sense}]",
),
PassportFieldDef(
index: 33,
key: 'script_japan',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Япония",
promptTemplate: "Для понятия «{word}» приведи японский аналог: [Кандзи / Ромадзи / Синтоистский сакральный концепт или эстетическая категория (ками, макото, моно-но аварэ)].",
formatTemplate: "[{kanji} / {romaji} / {shinto_concept}]",
),
PassportFieldDef(
index: 34,
key: 'script_islamic',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Исламский мир",
promptTemplate: "Для понятия «{word}» приведи арабско-исламский эквивалент: [Арабское слово с огласовками / Трёхбуквенный корень / Число по системе Абджад и суфийский смысл].",
formatTemplate: "[{arabic_script} / {root} / {abjad}]",
),
PassportFieldDef(
index: 35,
key: 'script_western_europe',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Западная Европа",
promptTemplate: "Для понятия «{word}» приведи западноевропейский герметический/алхимический глиф или знак средневековых гримуаров и его толкование.",
formatTemplate: "[{alchemical_glyph} / {hermetic_term}]",
),
PassportFieldDef(
index: 36,
key: 'script_mesoamerica',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Мезоамерика",
promptTemplate: "Для понятия «{word}» приведи мезоамериканский эквивалент: [Майянский иероглифический глиф или ацтекская пиктограмма науатль / Произношение и сакральный смысл].",
formatTemplate: "[{mayan_glyph_or_nahuatl} / {meaning}]",
),
PassportFieldDef(
index: 37,
key: 'script_native_american',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Коренные народы Сев. Америки",
promptTemplate: "Для понятия «{word}» приведи символический пиктограф или тотемный знак коренных народов Северной Америки (навахо, оджибве, лакота, хопи) и его значение.",
formatTemplate: "[{pictograph} / {totem_symbol}]",
),
PassportFieldDef(
index: 38,
key: 'script_polynesia',
sectionNum: 'III',
sectionTitle: "Мультилингвальный и графический паспорт",
title: "Полинезия",
promptTemplate: "Для понятия «{word}» приведи геометрический мотив полинезийского татау / маорийского та-моко, коренной термин и его связь с концепциями Мана (сила) и Тапу (священность).",
formatTemplate: "[{tatau_motif} / {mana_concept}]",
),
PassportFieldDef(
index: 39,
key: 'state_neutral',
sectionNum: 'IV',
sectionTitle: "Трехполярная матрица состояний",
title: "0 Нейтральный статус (База / Бытие / Среда / Субстанция)",
promptTemplate: "Для знака «{word}» опиши НЕЙТРАЛЬНЫЙ СТАТУС [0]: онтологический и физический факт его присутствия в мире до человеческой оценки, эмоций и субъективной воли. Как этот феномен существует как чистая субстанция или естественная среда бытия? Сформулируй ёмко в 2–3 предложения.",
formatTemplate: "{state_0}",
),
PassportFieldDef(
index: 40,
key: 'state_creative',
sectionNum: 'IV',
sectionTitle: "Трехполярная матрица состояний",
title: "[+1] Созидательный вектор (Свет / Ресурс / Эволюция)",
promptTemplate: "Для знака «{word}» опиши СОЗИДАТЕЛЬНЫЙ ВЕКТОР [+1]: его светлое, ресурсное и конструктивное проявление. Как этот архетип действует в созидании порядка, исцелении, росте осознанности, эволюции духа и преумножении жизни? Сформулируй ёмко в 2–3 предложения.",
formatTemplate: "{state_plus}",
),
PassportFieldDef(
index: 41,
key: 'state_destructive',
sectionNum: 'IV',
sectionTitle: "Трехполярная матрица состояний",
title: "[-1] Деструктивный вектор (Тень / Вызов / Искажение)",
promptTemplate: "Для знака «{word}» опиши ДЕСТРУКТИВНЫЙ ВЕКТОР [-1]: его теневое, искажённое и разрушительное проявление при потере меры и осознанности. В какие аффекты, застои, хаос, выгорание или слепоту вырождается этот знак? Сформулируй ёмко в 2–3 предложения.",
formatTemplate: "{state_minus}",
),
PassportFieldDef(
index: 42,
key: 'culture_sumer_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Шумер и Месопотамия: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в культуре Шумера и Месопотамии (мифы, боги, цивилизационный дар, законы Мэ). Сформулируй в 1–2 предложения.",
formatTemplate: "{sumer_light}",
),
PassportFieldDef(
index: 43,
key: 'culture_sumer_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Шумер и Месопотамия: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в культуре Шумера и Месопотамии (хаос Тиамат, проклятия, подземный мир Кура, гнев богов). Сформулируй в 1–2 предложения.",
formatTemplate: "{sumer_shadow}",
),
PassportFieldDef(
index: 44,
key: 'culture_egypt_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Древний Египет: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в религии Древнего Египта (закон Маат, солярная сила Ра, возрождение Осириса). Сформулируй в 1–2 предложения.",
formatTemplate: "{egypt_light}",
),
PassportFieldDef(
index: 45,
key: 'culture_egypt_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Древний Египет: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в мифологии Древнего Египта (тьма Апопа, пустыня и ярость Сета, суд загробного мира Дуат). Сформулируй в 1–2 предложения.",
formatTemplate: "{egypt_shadow}",
),
PassportFieldDef(
index: 46,
key: 'culture_kabbalah_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Иудейская традиция и Каббала: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в иудейской традиции и Каббале (божественный свет Ор Эйн Соф, исправление мира Тиккун Олам, благодать сфирот). Сформулируй в 1–2 предложения.",
formatTemplate: "{kabbalah_light}",
),
PassportFieldDef(
index: 47,
key: 'culture_kabbalah_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Иудейская традиция и Каббала: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в Каббале и иудейском мифе (оболочки Клипот, суд Дин/Гвура, изгнание, падение). Сформулируй в 1–2 предложения.",
formatTemplate: "{kabbalah_shadow}",
),
PassportFieldDef(
index: 48,
key: 'culture_antiquity_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Античность (Греция / Рим): [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в античной культуре Греции и Рима (аполлонический разум, доблесть арете, гармония космоса, право). Сформулируй в 1–2 предложения.",
formatTemplate: "{antiquity_light}",
),
PassportFieldDef(
index: 49,
key: 'culture_antiquity_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Античность (Греция / Рим): [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в античной традиции (гордыня хюбрис, слепой рок ананке, безумие Тартара, возмездие Немезиды). Сформулируй в 1–2 предложения.",
formatTemplate: "{antiquity_shadow}",
),
PassportFieldDef(
index: 50,
key: 'culture_celtic_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Кельтская традиция: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в кельтской традиции (священная мудрость друидов, священный огонь Бригитты, магия природы). Сформулируй в 1–2 предложения.",
formatTemplate: "{celtic_light}",
),
PassportFieldDef(
index: 51,
key: 'culture_celtic_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Кельтская традиция: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в кельтском мифе (гнев фоморов, нарушение табу гейса, морок Сидов, безумие битвы). Сформулируй в 1–2 предложения.",
formatTemplate: "{celtic_shadow}",
),
PassportFieldDef(
index: 52,
key: 'culture_nordic_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Скандинавско-германская традиция: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в скандинавско-германской традиции (мудрость Одина, верность Тюра, плодородие Фрейра, сила Асгарда). Сформулируй в 1–2 предложения.",
formatTemplate: "{nordic_light}",
),
PassportFieldDef(
index: 53,
key: 'culture_nordic_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Скандинавско-германская традиция: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в скандинавском мифе (коварен Локи, хладный Ётунхейм, сумерки богов Рагнарёк, ярость Фенрира). Сформулируй в 1–2 предложения.",
formatTemplate: "{nordic_shadow}",
),
PassportFieldDef(
index: 54,
key: 'culture_slavic_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Славянская традиция: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в славянской традиции (правь, свет Белобога, плодородие Матери-Сырой-Земли, благодать Лады). Сформулируй в 1–2 предложения.",
formatTemplate: "{slavic_light}",
),
PassportFieldDef(
index: 55,
key: 'culture_slavic_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Славянская традиция: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в славянском мифе (навь, мгла Чернобога, хлад Морены, навьи чары и морок). Сформулируй в 1–2 предложения.",
formatTemplate: "{slavic_shadow}",
),
PassportFieldDef(
index: 56,
key: 'culture_india_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Ведическая Индия и Тантра: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в ведической традиции Индии (Дхарма, Саттва, освобождение Мокша, пробуждение Кундалини). Сформулируй в 1–2 предложения.",
formatTemplate: "{india_light}",
),
PassportFieldDef(
index: 57,
key: 'culture_india_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Ведическая Индия и Тантра: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в индийской традиции (иллюзия Майя, Тамас, оковы сансары, разрушительный гнев Кали). Сформулируй в 1–2 предложения.",
formatTemplate: "{india_shadow}",
),
PassportFieldDef(
index: 58,
key: 'culture_persia_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Персия и Зороастризм: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в зороастризме и древней Персии (вечный свет Аша, мудрость Ахура Мазды, чистая мысль, слово и дело). Сформулируй в 1–2 предложения.",
formatTemplate: "{persia_light}",
),
PassportFieldDef(
index: 59,
key: 'culture_persia_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Персия и Зороастризм: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в персидском мифе (ложь Друдж, морок Ангро-Майнью/Аримана, осквернение стихий). Сформулируй в 1–2 предложения.",
formatTemplate: "{persia_shadow}",
),
PassportFieldDef(
index: 60,
key: 'culture_china_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Китай (Даосизм, И-цзин, У-син): [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в китайской традиции (следование пути Дао, недеяние У-вэй, баланс пяти стихий У-син). Сформулируй в 1–2 предложения.",
formatTemplate: "{china_light}",
),
PassportFieldDef(
index: 61,
key: 'culture_china_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Китай (Даосизм, И-цзин, У-син): [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в китайской традиции (дисбаланс стихий, застой Ци, истощение из-за борьбы с переменами). Сформулируй в 1–2 предложения.",
formatTemplate: "{china_shadow}",
),
PassportFieldDef(
index: 62,
key: 'culture_japan_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Япония (Синтоизм, Сингон): [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в синтоизме и культуре Японии (очищение Мисоги, почитание ками, созерцание красоты, искренность сердца Макото). Сформулируй в 1–2 предложения.",
formatTemplate: "{japan_light}",
),
PassportFieldDef(
index: 63,
key: 'culture_japan_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Япония (Синтоизм, Сингон): [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в японской традиции (скверна Кэгарэ, гнев мстительных духов Онрё, бездна Ёми). Сформулируй в 1–2 предложения.",
formatTemplate: "{japan_shadow}",
),
PassportFieldDef(
index: 64,
key: 'culture_islam_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Исламская традиция и суфизм: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в исламской традиции и суфизме (божественный свет Нур, растворение эго в Боге Фана, мистическая любовь Ишк). Сформулируй в 1–2 предложения.",
formatTemplate: "{islam_light}",
),
PassportFieldDef(
index: 65,
key: 'culture_islam_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Исламская традиция и суфизм: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в исламе и суфизме (низменные страсти Нафс, наущения Иблиса/Шайтана, гордыня). Сформулируй в 1–2 предложения.",
formatTemplate: "{islam_shadow}",
),
PassportFieldDef(
index: 66,
key: 'culture_hermetic_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Западноевропейская традиция (Алхимия / Герметизм): [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в западноевропейском герметизме и алхимии (Великое Делание, трансмутация свинца в золото, философский камень). Сформулируй в 1–2 предложения.",
formatTemplate: "{hermetic_light}",
),
PassportFieldDef(
index: 67,
key: 'culture_hermetic_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Западноевропейская традиция (Алхимия / Герметизм): [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в европейской традиции (ложная алхимия суфлёров, фаустовская гордыня, ядовитый осадок нигредо). Сформулируй в 1–2 предложения.",
formatTemplate: "{hermetic_shadow}",
),
PassportFieldDef(
index: 68,
key: 'culture_mesoamerica_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Мезоамерика и Анды (Майя, Ацтеки, Инки): [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в культуре Мезоамерики и Анд (космическое обновление, мудрость Кетцалькоатля/Кукулькана, солнце Инти). Сформулируй в 1–2 предложения.",
formatTemplate: "{mesoamerica_light}",
),
PassportFieldDef(
index: 69,
key: 'culture_mesoamerica_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Мезоамерика и Анды (Майя, Ацтеки, Инки): [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в мифологии Мезоамерики (кровавый долг богам, бездна Шибальбы, зеркало Тескатлипоки). Сформулируй в 1–2 предложения.",
formatTemplate: "{mesoamerica_shadow}",
),
PassportFieldDef(
index: 70,
key: 'culture_native_american_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Традиции коренных народов Северной Америки: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в шаманизме индейцев Северной Америки (священная связь с Великим Духом Вакан Танка, гармония Круга Жизни). Сформулируй в 1–2 предложения.",
formatTemplate: "{native_american_light}",
),
PassportFieldDef(
index: 71,
key: 'culture_native_american_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Традиции коренных народов Северной Америки: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в индейских мифах (прожорливый каннибальский дух Вендиго, злые чары, разрушение круга). Сформулируй в 1–2 предложения.",
formatTemplate: "{native_american_shadow}",
),
PassportFieldDef(
index: 72,
key: 'culture_polynesia_light',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Полинезия и Океания: [+] Свет",
promptTemplate: "Для символа «{word}» опиши СОЗИДАТЕЛЬНЫЙ АСПЕКТ [+] в культуре Полинезии (величие духовной силы Мана, навигация океана, связь с предками Атуа). Сформулируй в 1–2 предложения.",
formatTemplate: "{polynesia_light}",
),
PassportFieldDef(
index: 73,
key: 'culture_polynesia_shadow',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "Полинезия и Океания: [-] Тень",
promptTemplate: "Для символа «{word}» опиши ДЕСТРУКТИВНЫЙ / ТЕНЕВОЙ АСПЕКТ [-] в мифах Океании (нарушение священного запрета Тапу, безжалостная ярость волн, утрата маны). Сформулируй в 1–2 предложения.",
formatTemplate: "{polynesia_shadow}",
),
PassportFieldDef(
index: 74,
key: 'meta_synthesis',
sectionNum: 'V',
sectionTitle: "Культурологическая матрица",
title: "17-й Интегральный мета-синтез (Универсальный культурологический код)",
promptTemplate: "Для символа «{word}» сформируй 17-й ИНТЕГРАЛЬНЫЙ МЕТА-СИНТЕЗ, обобщающий все 16 культур человечества: 1. Мета-параллели: сквозная роль этого символа в мировой цивилизации; 2. Точка преломления: точная грань между созидательным (+) и деструктивным (-) проявлением знака; 3. Кросс-культурный инвариант: единый универсальный закон архетипа, одинаковый от Шумера до Полинезии. Сформулируй строго структурированным текстом.",
formatTemplate: "Мета-параллели: {meta_parallels}\nТочка преломления: {inflection_point}\nКросс-культурный инвариант: {cross_cultural_invariant}",
),
PassportFieldDef(
index: 75,
key: 'semantic_core',
sectionNum: 'VI',
sectionTitle: "Мантический & Обучающий синтез",
title: "Смысловое ядро",
promptTemplate: "Для знака «{word}» (ID: {id_pad}, {pos}, {category}) сформулируй концентрированное СМЫСЛОВОЕ ЯДРО в 1–2 чеканных, философски точных предложениях. Какова глубинная метафизическая формула этого знака?",
formatTemplate: "{semantic_core}",
),
PassportFieldDef(
index: 76,
key: 'grammar_interpretation',
sectionNum: 'VI',
sectionTitle: "Мантический & Обучающий синтез",
title: "Интерпретация по грамматическому типу",
promptTemplate: "Для знака «{word}» дай мантическую интерпретацию через призму его грамматического класса ({pos}): как именно его часть речи определяет характер проявления в раскладе — как стабильную среду/архетип (существительное), как прямой импульс/трансформацию (глагол), как модус/окраску ситуации (прилагательное) или иной вектор? Сформулируй в 2–3 предложения.",
formatTemplate: "{grammar_interpretation}",
),
PassportFieldDef(
index: 77,
key: 'will_vector',
sectionNum: 'VI',
sectionTitle: "Мантический & Обучающий синтез",
title: "Вектор Воли (К чему призывает)",
promptTemplate: "Для знака «{word}» сформулируй ВЕКТОР ВОЛИ: к какому точному, конструктивному и необратимому действию или внутренней стратегии призывает этот знак кверента? Практический совет прямого действия.",
formatTemplate: "{will_vector}",
),
PassportFieldDef(
index: 78,
key: 'shadow_warning',
sectionNum: 'VI',
sectionTitle: "Мантический & Обучающий синтез",
title: "Предостережение / Тень (О чем предупреждает)",
promptTemplate: "Для знака «{word}» сформулируй ПРЕДОСТЕРЕЖЕНИЕ / ТЕНЬ: от какой слепой ловушки, бессознательного импульса, иллюзии или гибельной крайности строго предупреждает этот знак? Точное указание на опасность.",
formatTemplate: "{shadow_warning}",
),
];
final Map<String, PassportFieldDef> kPassportFieldByKey = {
for (final f in kPassportFields78) f.key: f,
};
String buildSectionPrePrompt(String sectionNum, WordItem word) {
final fields = kPassportFields78.where((f) => f.sectionNum == sectionNum).toList();
if (fields.isEmpty) return '';
final sb = StringBuffer();
sb.writeln('ПАКЕТ ПРЕДПРОМПТОВ: РАЗДЕЛ $sectionNum. ${fields.first.sectionTitle}');
sb.writeln('Знак: «${word.word.toUpperCase()}» (ID: ${word.sessionNumber.toString().padLeft(3, "0")})');
sb.writeln('Ответь строго по пунктам, сохраняя названия строк:');
sb.writeln();
for (final f in fields) {
sb.writeln('--- [Пункт ${f.index}/78] ${f.title} ---');
sb.writeln(f.buildPrompt(word));
sb.writeln();
}
return sb.toString().trim();
}
String buildAllPassportPrompts(WordItem word) {
final sb = StringBuffer();
final idPad = word.sessionNumber.toString().padLeft(3, '0');
sb.writeln('═══════════════════════════════════════════════════════════════════');
sb.writeln('ПОЛНЫЙ ПАКЕТ ИЗ 78 ПРОМПТОВ: ЗНАК #$idPad «${word.word.toUpperCase()}»');
sb.writeln('═══════════════════════════════════════════════════════════════════');
sb.writeln();
for (final f in kPassportFields78) {
sb.writeln('### [ПРОМПТ ${f.index.toString().padLeft(2, "0")}/78] | Раздел ${f.sectionNum} | ${f.title}');
sb.writeln(f.buildPrompt(word));
sb.writeln();
sb.writeln('-------------------------------------------------------------------');
}
return sb.toString().trim();
}
/// Интеллектуальный парсер текста паспорта или разделов в 78 атомарных полей
Map<String, String> parsePassportMarkdownToFields(String md) {
final result = <String, String>{};
final lines = md.split('\n');
final simplePrefixes = <String, String>{
'Индекс и имя:': 'index_and_name',
'Грамматический класс:': 'grammatical_class',
'Функциональная категория:': 'functional_category',
'Сетевой статус:': 'network_status',
'Старший Футарк (Руны):': 'mantic_runes',
'Кельтский Огам:': 'mantic_ogham',
'Старшие Арканы Таро:': 'mantic_tarot',
'Малая колода Ленорман:': 'mantic_lenormand',
'Каббала / Древо Жизни:': 'mantic_kabbalah',
"Арабская Геомантия ('Илм ар-Рамл):": 'mantic_geomancy',
'Арабская Геомантия:': 'mantic_geomancy',
'И Цзин (Книга Перемен):': 'mantic_iching',
'Алхимия (Magnum Opus):': 'mantic_alchemy',
'Классический Зодиак:': 'mantic_zodiac_west',
'Китайский Зодиак:': 'mantic_zodiac_chinese',
'Септенер:': 'mantic_septener',
'Додекада Месяцев:': 'mantic_dodecade',
'Нумерология:': 'mantic_numerology',
'Космология Трёх Миров:': 'mantic_cosmology',
'20 Навалей Цолькин (Майя):': 'mantic_tzolkin',
'27 Накшатр Джйотиш (Индия):': 'mantic_nakshatras',
'Этимология и праформы:': 'etymology_roots',
'Шумер / Аккад:': 'script_sumer_akkad',
'Древний Египет:': 'script_egypt',
'Иудейская традиция:': 'script_hebrew',
'Античность:': 'script_antiquity',
'Кельты:': 'script_celtic',
'Скандинавы / Германцы:': 'script_runic_germanic',
'Славяне:': 'script_slavic',
'Ведическая Индия:': 'script_india_sanskrit',
'Персия:': 'script_persia',
'Китай:': 'script_china',
'Япония:': 'script_japan',
'Исламский мир:': 'script_islamic',
'Западная Европа:': 'script_western_europe',
'Мезоамерика:': 'script_mesoamerica',
'Коренные народы Сев. Америки:': 'script_native_american',
'Полинезия:': 'script_polynesia',
'Смысловое ядро:': 'semantic_core',
'Интерпретация по грамматическому типу:': 'grammar_interpretation',
'Вектор Воли (К чему призывает):': 'will_vector',
'Предостережение / Тень (О чем предупреждает):': 'shadow_warning',
};
final culturePrefixes = <String, String>{
'Шумер и Месопотамия:': 'culture_sumer',
'Древний Египет:': 'culture_egypt',
'Иудейская традиция и Каббала:': 'culture_kabbalah',
'Античность (Греция / Рим):': 'culture_antiquity',
'Кельтская традиция:': 'culture_celtic',
'Скандинавско-германская традиция:': 'culture_nordic',
'Славянская традиция:': 'culture_slavic',
'Ведическая Индия и Тантра:': 'culture_india',
'Персия и Зороастризм:': 'culture_persia',
'Китай (Даосизм, И-цзин, У-син):': 'culture_china',
'Япония (Синтоизм, Сингон):': 'culture_japan',
'Исламская традиция и суфизм:': 'culture_islam',
'Западноевропейская традиция (Алхимия / Герметизм):': 'culture_hermetic',
'Мезоамерика и Анды (Майя, Ацтеки, Инки):': 'culture_mesoamerica',
'Традиции коренных народов Северной Америки:': 'culture_native_american',
'Полинезия и Океания:': 'culture_polynesia',
};
int i = 0;
while (i < lines.length) {
final line = lines[i].trim();
// Check simple 1:1 prefixes
bool matched = false;
for (final entry in simplePrefixes.entries) {
if (line.startsWith(entry.key)) {
final val = line.substring(entry.key.length).trim();
if (val.isNotEmpty) {
result[entry.value] = val;
}
matched = true;
break;
}
}
if (matched) {
i++;
continue;
}
// Check cultures with [+] and [-]
for (final entry in culturePrefixes.entries) {
if (line.startsWith(entry.key)) {
final rest = line.substring(entry.key.length).trim();
if (rest.contains('[-]') && rest.contains('[+]')) {
final parts = rest.split('[-]');
final light = parts[0].replaceAll('[+]', '').replaceAll('/', '').trim();
final shadow = parts.length > 1 ? parts[1].trim() : '';
if (light.isNotEmpty) result['${entry.value}_light'] = light;
if (shadow.isNotEmpty) result['${entry.value}_shadow'] = shadow;
matched = true;
break;
}
}
}
if (matched) {
i++;
continue;
}
// Tri-polar states
if (line.startsWith('0 Нейтральный статус')) {
final idx = line.indexOf(':');
if (idx != -1) {
result['state_neutral'] = line.substring(idx + 1).trim();
}
} else if (line.startsWith('[+1] Созидательный вектор')) {
final idx = line.indexOf(':');
if (idx != -1) {
result['state_creative'] = line.substring(idx + 1).trim();
}
} else if (line.startsWith('[-1] Деструктивный вектор')) {
final idx = line.indexOf(':');
if (idx != -1) {
result['state_destructive'] = line.substring(idx + 1).trim();
}
} else if (line.startsWith('Действующие законы станций')) {
final sb = StringBuffer();
i++;
while (i < lines.length && !lines[i].startsWith('---') && !lines[i].startsWith('III.')) {
if (lines[i].trim().isNotEmpty) sb.writeln(lines[i].trim());
i++;
}
if (sb.isNotEmpty) {
result['mantic_station_laws'] = sb.toString().trim();
}
continue;
} else if (line.startsWith('Б. 17-й Интегральный мета-синтез') || line.startsWith('17-й Интегральный мета-синтез:')) {
final sb = StringBuffer();
i++;
while (i < lines.length && !lines[i].startsWith('---') && !lines[i].startsWith('VI.')) {
if (lines[i].trim().isNotEmpty) sb.writeln(lines[i].trim());
i++;
}
if (sb.isNotEmpty) {
result['meta_synthesis'] = sb.toString().trim();
}
continue;
}
i++;
}
return result;
}