feat: complete academic symbol lexicon heal, 2-column Cooper extraction, and updated assets

This commit is contained in:
2026-10-09 15:26:58 +05:00
parent 7f91366201
commit 0b12e4583b
244 changed files with 611461 additions and 1617 deletions
+429
View File
@@ -0,0 +1,429 @@
// word_passport_model.dart
// ЕДИНООБРАЗНЫЙ ПАСПОРТ ЗНАКА «ОРАКУЛА 999»
// 78 атомарных полей по 6 разделам канона
import '../services/passport_schema_dart.dart';
class WordPassport {
final int id;
final String word;
final String pos;
final String category;
final String emoji;
final Map<String, String> fields;
final int filledCount;
final bool isComplete;
final String updatedAt;
final List<Map<String, dynamic>> illustrations;
const WordPassport({
required this.id,
required this.word,
this.pos = '',
this.category = '',
this.emoji = '',
this.fields = const {},
this.filledCount = 0,
this.isComplete = false,
this.updatedAt = '',
this.illustrations = const [],
});
String get idPad => id.toString().padLeft(3, '0');
String getField(String key) => fields[key] ?? '';
/// [1/78] Раздел I • Индекс и имя
String get indexAndName => getField('index_and_name');
/// [2/78] Раздел I • Грамматический класс
String get grammaticalClass => getField('grammatical_class');
/// [3/78] Раздел I • Функциональная категория
String get functionalCategory => getField('functional_category');
/// [4/78] Раздел I • Сетевой статус
String get networkStatus => getField('network_status');
/// [5/78] Раздел II • Старший Футарк (Руны)
String get manticRunes => getField('mantic_runes');
/// [6/78] Раздел II • Кельтский Огам
String get manticOgham => getField('mantic_ogham');
/// [7/78] Раздел II • Старшие Арканы Таро
String get manticTarot => getField('mantic_tarot');
/// [8/78] Раздел II • Малая колода Ленорман
String get manticLenormand => getField('mantic_lenormand');
/// [9/78] Раздел II • Каббала / Древо Жизни
String get manticKabbalah => getField('mantic_kabbalah');
/// [10/78] Раздел II • Арабская Геомантия
String get manticGeomancy => getField('mantic_geomancy');
/// [11/78] Раздел II • И Цзин (Книга Перемен)
String get manticIching => getField('mantic_iching');
/// [12/78] Раздел II • Алхимия (Magnum Opus)
String get manticAlchemy => getField('mantic_alchemy');
/// [13/78] Раздел II • Классический Зодиак
String get manticZodiacWest => getField('mantic_zodiac_west');
/// [14/78] Раздел II • Китайский Зодиак
String get manticZodiacChinese => getField('mantic_zodiac_chinese');
/// [15/78] Раздел II • Септенер
String get manticSeptener => getField('mantic_septener');
/// [16/78] Раздел II • Додекада Месяцев
String get manticDodecade => getField('mantic_dodecade');
/// [17/78] Раздел II • Нумерология
String get manticNumerology => getField('mantic_numerology');
/// [18/78] Раздел II • Космология Трёх Миров
String get manticCosmology => getField('mantic_cosmology');
/// [19/78] Раздел II • 20 Навалей Цолькин (Майя)
String get manticTzolkin => getField('mantic_tzolkin');
/// [20/78] Раздел II • 27 Накшатр Джйотиш (Индия)
String get manticNakshatras => getField('mantic_nakshatras');
/// [21/78] Раздел II • Действующие законы станций (выжимка)
String get manticStationLaws => getField('mantic_station_laws');
/// [22/78] Раздел III • Этимология и праформы
String get etymologyRoots => getField('etymology_roots');
/// [23/78] Раздел III • Шумер / Аккад
String get scriptSumerAkkad => getField('script_sumer_akkad');
/// [24/78] Раздел III • Древний Египет
String get scriptEgypt => getField('script_egypt');
/// [25/78] Раздел III • Иудейская традиция
String get scriptHebrew => getField('script_hebrew');
/// [26/78] Раздел III • Античность
String get scriptAntiquity => getField('script_antiquity');
/// [27/78] Раздел III • Кельты
String get scriptCeltic => getField('script_celtic');
/// [28/78] Раздел III • Скандинавы / Германцы
String get scriptRunicGermanic => getField('script_runic_germanic');
/// [29/78] Раздел III • Славяне
String get scriptSlavic => getField('script_slavic');
/// [30/78] Раздел III • Ведическая Индия
String get scriptIndiaSanskrit => getField('script_india_sanskrit');
/// [31/78] Раздел III • Персия
String get scriptPersia => getField('script_persia');
/// [32/78] Раздел III • Китай
String get scriptChina => getField('script_china');
/// [33/78] Раздел III • Япония
String get scriptJapan => getField('script_japan');
/// [34/78] Раздел III • Исламский мир
String get scriptIslamic => getField('script_islamic');
/// [35/78] Раздел III • Западная Европа
String get scriptWesternEurope => getField('script_western_europe');
/// [36/78] Раздел III • Мезоамерика
String get scriptMesoamerica => getField('script_mesoamerica');
/// [37/78] Раздел III • Коренные народы Сев. Америки
String get scriptNativeAmerican => getField('script_native_american');
/// [38/78] Раздел III • Полинезия
String get scriptPolynesia => getField('script_polynesia');
/// [39/78] Раздел IV • 0 Нейтральный статус (База / Бытие / Среда / Субстанция)
String get stateNeutral => getField('state_neutral');
/// [40/78] Раздел IV • [+1] Созидательный вектор (Свет / Ресурс / Эволюция)
String get stateCreative => getField('state_creative');
/// [41/78] Раздел IV • [-1] Деструктивный вектор (Тень / Вызов / Искажение)
String get stateDestructive => getField('state_destructive');
/// [42/78] Раздел V • Шумер и Месопотамия: [+] Свет
String get cultureSumerLight => getField('culture_sumer_light');
/// [43/78] Раздел V • Шумер и Месопотамия: [-] Тень
String get cultureSumerShadow => getField('culture_sumer_shadow');
/// [44/78] Раздел V • Древний Египет: [+] Свет
String get cultureEgyptLight => getField('culture_egypt_light');
/// [45/78] Раздел V • Древний Египет: [-] Тень
String get cultureEgyptShadow => getField('culture_egypt_shadow');
/// [46/78] Раздел V • Иудейская традиция и Каббала: [+] Свет
String get cultureKabbalahLight => getField('culture_kabbalah_light');
/// [47/78] Раздел V • Иудейская традиция и Каббала: [-] Тень
String get cultureKabbalahShadow => getField('culture_kabbalah_shadow');
/// [48/78] Раздел V • Античность (Греция / Рим): [+] Свет
String get cultureAntiquityLight => getField('culture_antiquity_light');
/// [49/78] Раздел V • Античность (Греция / Рим): [-] Тень
String get cultureAntiquityShadow => getField('culture_antiquity_shadow');
/// [50/78] Раздел V • Кельтская традиция: [+] Свет
String get cultureCelticLight => getField('culture_celtic_light');
/// [51/78] Раздел V • Кельтская традиция: [-] Тень
String get cultureCelticShadow => getField('culture_celtic_shadow');
/// [52/78] Раздел V • Скандинавско-германская традиция: [+] Свет
String get cultureNordicLight => getField('culture_nordic_light');
/// [53/78] Раздел V • Скандинавско-германская традиция: [-] Тень
String get cultureNordicShadow => getField('culture_nordic_shadow');
/// [54/78] Раздел V • Славянская традиция: [+] Свет
String get cultureSlavicLight => getField('culture_slavic_light');
/// [55/78] Раздел V • Славянская традиция: [-] Тень
String get cultureSlavicShadow => getField('culture_slavic_shadow');
/// [56/78] Раздел V • Ведическая Индия и Тантра: [+] Свет
String get cultureIndiaLight => getField('culture_india_light');
/// [57/78] Раздел V • Ведическая Индия и Тантра: [-] Тень
String get cultureIndiaShadow => getField('culture_india_shadow');
/// [58/78] Раздел V • Персия и Зороастризм: [+] Свет
String get culturePersiaLight => getField('culture_persia_light');
/// [59/78] Раздел V • Персия и Зороастризм: [-] Тень
String get culturePersiaShadow => getField('culture_persia_shadow');
/// [60/78] Раздел V • Китай (Даосизм, И-цзин, У-син): [+] Свет
String get cultureChinaLight => getField('culture_china_light');
/// [61/78] Раздел V • Китай (Даосизм, И-цзин, У-син): [-] Тень
String get cultureChinaShadow => getField('culture_china_shadow');
/// [62/78] Раздел V • Япония (Синтоизм, Сингон): [+] Свет
String get cultureJapanLight => getField('culture_japan_light');
/// [63/78] Раздел V • Япония (Синтоизм, Сингон): [-] Тень
String get cultureJapanShadow => getField('culture_japan_shadow');
/// [64/78] Раздел V • Исламская традиция и суфизм: [+] Свет
String get cultureIslamLight => getField('culture_islam_light');
/// [65/78] Раздел V • Исламская традиция и суфизм: [-] Тень
String get cultureIslamShadow => getField('culture_islam_shadow');
/// [66/78] Раздел V • Западноевропейская традиция (Алхимия / Герметизм): [+] Свет
String get cultureHermeticLight => getField('culture_hermetic_light');
/// [67/78] Раздел V • Западноевропейская традиция (Алхимия / Герметизм): [-] Тень
String get cultureHermeticShadow => getField('culture_hermetic_shadow');
/// [68/78] Раздел V • Мезоамерика и Анды (Майя, Ацтеки, Инки): [+] Свет
String get cultureMesoamericaLight => getField('culture_mesoamerica_light');
/// [69/78] Раздел V • Мезоамерика и Анды (Майя, Ацтеки, Инки): [-] Тень
String get cultureMesoamericaShadow => getField('culture_mesoamerica_shadow');
/// [70/78] Раздел V • Традиции коренных народов Северной Америки: [+] Свет
String get cultureNativeAmericanLight => getField('culture_native_american_light');
/// [71/78] Раздел V • Традиции коренных народов Северной Америки: [-] Тень
String get cultureNativeAmericanShadow => getField('culture_native_american_shadow');
/// [72/78] Раздел V • Полинезия и Океания: [+] Свет
String get culturePolynesiaLight => getField('culture_polynesia_light');
/// [73/78] Раздел V • Полинезия и Океания: [-] Тень
String get culturePolynesiaShadow => getField('culture_polynesia_shadow');
/// [74/78] Раздел V • 17-й Интегральный мета-синтез (Универсальный культурологический код)
String get metaSynthesis => getField('meta_synthesis');
/// [75/78] Раздел VI • Смысловое ядро
String get semanticCore => getField('semantic_core');
/// [76/78] Раздел VI • Интерпретация по грамматическому типу
String get grammarInterpretation => getField('grammar_interpretation');
/// [77/78] Раздел VI • Вектор Воли (К чему призывает)
String get willVector => getField('will_vector');
/// [78/78] Раздел VI • Предостережение / Тень (О чем предупреждает)
String get shadowWarning => getField('shadow_warning');
factory WordPassport.fromMap(Map<String, dynamic> map) {
final rawFields = map['fields'] as Map<String, dynamic>? ?? {};
final fieldsMap = rawFields.map((k, v) => MapEntry(k, v?.toString() ?? ''));
// Count filled fields
var filled = 0;
for (final f in kPassportFields78) {
if ((fieldsMap[f.key] ?? '').trim().isNotEmpty) {
filled++;
}
}
return WordPassport(
id: (map['id'] as num?)?.toInt() ?? 0,
word: map['word'] as String? ?? '',
pos: map['pos'] as String? ?? '',
category: map['category'] as String? ?? '',
emoji: map['emoji'] as String? ?? '',
fields: fieldsMap,
filledCount: (map['filled_count'] as num?)?.toInt() ?? filled,
isComplete: (map['is_complete'] as bool?) ?? (filled >= 78),
updatedAt: map['updated_at'] as String? ?? '',
illustrations: (map['illustrations'] as List<dynamic>?)?.map((e) => Map<String, dynamic>.from(e as Map)).toList() ?? const [],
);
}
Map<String, dynamic> toMap() => {
'id': id,
'word': word,
'pos': pos,
'category': category,
'emoji': emoji,
'fields': fields,
'filled_count': filledCount,
'is_complete': isComplete,
'updated_at': updatedAt,
'illustrations': illustrations,
};
WordPassport copyWith({
int? id,
String? word,
String? pos,
String? category,
String? emoji,
Map<String, String>? fields,
int? filledCount,
bool? isComplete,
String? updatedAt,
List<Map<String, dynamic>>? illustrations,
}) {
final newFields = fields ?? this.fields;
var filled = 0;
for (final f in kPassportFields78) {
if ((newFields[f.key] ?? '').trim().isNotEmpty) {
filled++;
}
}
return WordPassport(
id: id ?? this.id,
word: word ?? this.word,
pos: pos ?? this.pos,
category: category ?? this.category,
emoji: emoji ?? this.emoji,
fields: newFields,
filledCount: filledCount ?? filled,
isComplete: isComplete ?? (filled >= 78),
updatedAt: updatedAt ?? this.updatedAt,
illustrations: illustrations ?? this.illustrations,
);
}
String toMarkdown() {
final sb = StringBuffer();
sb.writeln('═══════════════════════════════════════════════════════════════════');
sb.writeln('ЕДИНООБРАЗНЫЙ ПАСПОРТ ЗНАКА «ОРАКУЛА 999»: #$idPad «${word.toUpperCase()}»');
sb.writeln('═══════════════════════════════════════════════════════════════════');
sb.writeln('I. Заголовочный паспорт (Метаданные реестра)');
sb.writeln('Индекс и имя: ${getField("index_and_name").isEmpty ? "$idPad | ${word.toUpperCase()} | $emoji" : getField("index_and_name")}');
sb.writeln('Грамматический класс: ${getField("grammatical_class")}');
sb.writeln('Функциональная категория: ${getField("functional_category")}');
sb.writeln('Сетевой статус: ${getField("network_status")}');
sb.writeln('---');
sb.writeln('II. Кросс-мантическая сеть и станции (16 классических систем)');
sb.writeln('Привязанные узловые станции:');
sb.writeln('Старший Футарк (Руны): ${getField("mantic_runes")}');
sb.writeln('Кельтский Огам: ${getField("mantic_ogham")}');
sb.writeln('Старшие Арканы Таро: ${getField("mantic_tarot")}');
sb.writeln('Малая колода Ленорман: ${getField("mantic_lenormand")}');
sb.writeln('Каббала / Древо Жизни: ${getField("mantic_kabbalah")}');
sb.writeln("Арабская Геомантия ('Илм ар-Рамл): ${getField('mantic_geomancy')}");
sb.writeln('И Цзин (Книга Перемен): ${getField("mantic_iching")}');
sb.writeln('Алхимия (Magnum Opus): ${getField("mantic_alchemy")}');
sb.writeln('Классический Зодиак: ${getField("mantic_zodiac_west")}');
sb.writeln('Китайский Зодиак: ${getField("mantic_zodiac_chinese")}');
sb.writeln('Септенер: ${getField("mantic_septener")}');
sb.writeln('Додекада Месяцев: ${getField("mantic_dodecade")}');
sb.writeln('Нумерология: ${getField("mantic_numerology")}');
sb.writeln('Космология Трёх Миров: ${getField("mantic_cosmology")}');
sb.writeln('20 Навалей Цолькин (Майя): ${getField("mantic_tzolkin")}');
sb.writeln('27 Накшатр Джйотиш (Индия): ${getField("mantic_nakshatras")}');
sb.writeln('Действующие законы станций (выжимка):');
sb.writeln(getField("mantic_station_laws"));
sb.writeln('---');
sb.writeln('III. Мультилингвальный и графический паспорт (Язык, Звук, Глиф)');
sb.writeln('Этимология и праформы: ${getField("etymology_roots")}');
sb.writeln('Сравнительный срез графики и фоносемантики (16 систем записи):');
sb.writeln('Шумер / Аккад: ${getField("script_sumer_akkad")}');
sb.writeln('Древний Египет: ${getField("script_egypt")}');
sb.writeln('Иудейская традиция: ${getField("script_hebrew")}');
sb.writeln('Античность: ${getField("script_antiquity")}');
sb.writeln('Кельты: ${getField("script_celtic")}');
sb.writeln('Скандинавы / Германцы: ${getField("script_runic_germanic")}');
sb.writeln('Славяне: ${getField("script_slavic")}');
sb.writeln('Ведическая Индия: ${getField("script_india_sanskrit")}');
sb.writeln('Персия: ${getField("script_persia")}');
sb.writeln('Китай: ${getField("script_china")}');
sb.writeln('Япония: ${getField("script_japan")}');
sb.writeln('Исламский мир: ${getField("script_islamic")}');
sb.writeln('Западная Европа: ${getField("script_western_europe")}');
sb.writeln('Мезоамерика: ${getField("script_mesoamerica")}');
sb.writeln('Коренные народы Сев. Америки: ${getField("script_native_american")}');
sb.writeln('Полинезия: ${getField("script_polynesia")}');
sb.writeln('---');
sb.writeln('IV. Трехполярная матрица состояний (0 / +1 / -1)');
sb.writeln('0 Нейтральный статус (База / Бытие / Среда / Субстанция): ${getField("state_neutral")}');
sb.writeln('[+1] Созидательный вектор (Свет / Ресурс / Эволюция): ${getField("state_creative")}');
sb.writeln('[-1] Деструктивный вектор (Тень / Вызов / Искажение): ${getField("state_destructive")}');
sb.writeln('---');
sb.writeln('V. Культурологическая матрица и 17-й Интегральный мета-синтез');
sb.writeln('А. 16 Мировых Традиций (Срез «Свет / Тень»):');
sb.writeln('Шумер и Месопотамия: [+] ${getField("culture_sumer_light")} / [-] ${getField("culture_sumer_shadow")}');
sb.writeln('Древний Египет: [+] ${getField("culture_egypt_light")} / [-] ${getField("culture_egypt_shadow")}');
sb.writeln('Иудейская традиция и Каббала: [+] ${getField("culture_kabbalah_light")} / [-] ${getField("culture_kabbalah_shadow")}');
sb.writeln('Античность (Греция / Рим): [+] ${getField("culture_antiquity_light")} / [-] ${getField("culture_antiquity_shadow")}');
sb.writeln('Кельтская традиция: [+] ${getField("culture_celtic_light")} / [-] ${getField("culture_celtic_shadow")}');
sb.writeln('Скандинавско-германская традиция: [+] ${getField("culture_nordic_light")} / [-] ${getField("culture_nordic_shadow")}');
sb.writeln('Славянская традиция: [+] ${getField("culture_slavic_light")} / [-] ${getField("culture_slavic_shadow")}');
sb.writeln('Ведическая Индия и Тантра: [+] ${getField("culture_india_light")} / [-] ${getField("culture_india_shadow")}');
sb.writeln('Персия и Зороастризм: [+] ${getField("culture_persia_light")} / [-] ${getField("culture_persia_shadow")}');
sb.writeln('Китай (Даосизм, И-цзин, У-син): [+] ${getField("culture_china_light")} / [-] ${getField("culture_china_shadow")}');
sb.writeln('Япония (Синтоизм, Сингон): [+] ${getField("culture_japan_light")} / [-] ${getField("culture_japan_shadow")}');
sb.writeln('Исламская традиция и суфизм: [+] ${getField("culture_islam_light")} / [-] ${getField("culture_islam_shadow")}');
sb.writeln('Западноевропейская традиция (Алхимия / Герметизм): [+] ${getField("culture_hermetic_light")} / [-] ${getField("culture_hermetic_shadow")}');
sb.writeln('Мезоамерика и Анды (Майя, Ацтеки, Инки): [+] ${getField("culture_mesoamerica_light")} / [-] ${getField("culture_mesoamerica_shadow")}');
sb.writeln('Традиции коренных народов Северной Америки: [+] ${getField("culture_native_american_light")} / [-] ${getField("culture_native_american_shadow")}');
sb.writeln('Полинезия и Океания: [+] ${getField("culture_polynesia_light")} / [-] ${getField("culture_polynesia_shadow")}');
sb.writeln('Б. 17-й Интегральный мета-синтез (Универсальный культурологический код):');
sb.writeln(getField("meta_synthesis"));
sb.writeln('---');
sb.writeln('VI. Мантический & Обучающий синтез');
sb.writeln('Смысловое ядро: ${getField("semantic_core")}');
sb.writeln('Интерпретация по грамматическому типу: ${getField("grammar_interpretation")}');
sb.writeln('Вектор Воли (К чему призывает): ${getField("will_vector")}');
sb.writeln('Предостережение / Тень (О чем предупреждает): ${getField("shadow_warning")}');
sb.writeln('═══════════════════════════════════════════════════════════════════');
return sb.toString();
}
}