feat(assets): restore ordered research candidate selection
Docs Deploy / Build and Deploy MkDocs (push) Successful in 37s
Docs Deploy / Build and Deploy MkDocs (push) Successful in 37s
This commit is contained in:
5 files changed
+880
-27
No files matched your search
@@ -471,6 +471,15 @@ struct UnitDatRecord112 {
|
||||
Требование обязательного terminator применяется только к полям, где оно доказано
|
||||
форматом.
|
||||
|
||||
У AI есть отдельный потребитель Unit DAT: исследовательский chooser читает
|
||||
заголовок с magic `F0F1`, сохраняет второй DWORD как непрозрачный и завершает
|
||||
разбор на границе первого полного корневого дерева. `immediate_child_count`
|
||||
закрывает это дерево по preorder; байты после него, включая неполную запись или
|
||||
orphan-record, chooser уже не читает. Поэтому Rust для этого пути находит
|
||||
bounded 112-byte prefix и передаёт его существующим `decode_unit_dat` и
|
||||
`unit_component_tree`. Общий декодер остаётся строгим к размеру всего файла
|
||||
`8 + 112 * N`; частный framing AI не меняет этот контракт.
|
||||
|
||||
Проверено 425 файлов / 5 219 records Части 1 и 676 файлов / 8 145 records
|
||||
Части 2. Все соответствуют формуле размера, `kind == 1` и
|
||||
`archive_name == "objects.rlb"`.
|
||||
|
||||
Reference in new issue
Block a user