Files
kam-mobile/docs/COVERAGE.md
T
admin_d 7063d1b1c9
Sync changed files to Google Drive / sync (push) Successful in 1h45m13s
sync: restore source from Google Drive
2026-09-12 16:50:30 +05:00

6.2 KiB

Что можно заключить по этому тесту

Цель

Получить реальные ошибки или успешные результаты компиляции, полной native-линковки и APK-упаковки KaM r16020 + FPC/CGE для Android. Отдельно проверить простейший запуск уже собранных APK. Ни desktop-сборка, ни полная игра для этой цели не нужны.

Границы свидетельств

Свидетельство Подтверждает Не подтверждает
platform compile/link Сборочные настройки CGE/FPC для выбранного Android ABI Совместимость KaM
Корневой модуль compile/link Этот исходник и активные транзитивные зависимости компилируются/линкуются при записанных defines Правильность каждого метода, чтение всех ресурсов
integration compile/link Совместную линковку выбранных настоящих корней KaM и CGE Старт миссии, simulation parity, готовность renderer
APK inspection Корректную оболочку ZIP/DEX, нужный ABI, сопоставление библиотеки и статически объявленных зависимостей Все dynamic dlopen пути, запуск Android loader, подпись без отдельной проверки
apksigner Подпись конкретного артефакта при успешной проверке Корректную работу приложения
Runtime startup Прохождение соответствующих инициализаторов и старт CGE UI Полную игровую инициализацию
Реальные point/stream smoke Несколько конкретных штатных операций и размеров типов на Android Все сценарии бинарной совместимости сохранений
Procedural GPU image / кадры Вызовы render/update в CGE; визуально — простой texture path КаМ высоты, сортировку спрайтов, terrain, draw performance
Лексический inventory Места потенциальных зависимостей с файлами и строками Активность ветви ifdef и наличие реальной ошибки компиляции

Флаг elf_16k_alignment_candidate — только статическое свойство сегментов ELF. Это не сертификат совместимости с 16 KB Android page size и не подтверждение требований Google Play. ZIP alignment и поведение на соответствующем устройстве отдельно этим флагом не проверены.

Принятие решения для документации

REUSE_CANDIDATE: исходный модуль собрался без изменений. Формулировка для документации: «Переиспользуем, compile/link подтверждён на ABI X в окружении Y; runtime/поведение проверяются отдельно».

PLATFORM_ADAPTER_CANDIDATE: ошибка на Windows/LCL/старом graphics/audio API. Сначала найти путь зависимости. Перенести конкретную платформенную операцию за границу, а не заменять loader или simulation module целиком.

DEPENDENCY_BUILD_OR_CONFIG: отсутствующий unit/include/native symbol. Различать некомплектный исходный пакет, неверный search path, библиотеку без Android-варианта, CPU-specific assembler и действительно непереносимый API. Записанный triage — подсказка, не окончательный диагноз.

SOURCE_PATCH_CANDIDATE: ошибка языка/RTL/ABI в настоящем исходнике. Нужна локальная проверяемая правка, её основание, повторный результат. Этот стенд намеренно хранит baseline неизменным и не делает такую правку автоматически.

NEW_IMPLEMENTATION: никогда не назначается автоматически по одной ошибке компиляции. Нужны исследование существующего кода и явное обоснование, почему адаптация/подключение библиотеки не подходят. Новый мобильный UI и touch presentation ожидаемы, но это не довод переписывать core.

Что не входит в текущий запрос

Не исполняются миссии, экономика, AI, строительство, боя, save/load игрового мира, кампании и библиотечные script-файлы. Их код входит в соответствующие dependency/link-пробы, но поведенческого покрытия от этого не появляется. Полный KaM renderer и мобильные игровые панели не реализованы. MAP/DAT форматы не менялись. Ресурсы не заменены синтетическими файлами «под KaM».

После первого серверного запуска можно предметно описывать сборочные и платформенные границы проекта. Заявления о полной игровой совместимости потребуют других тестов; они не нужны для ответа на текущий вопрос «что мешает собрать нашу архитектуру под Android».