From d0bdbaa1ed76dfbf3211bb43eee48c49cc4fd448 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Mon, 22 Jun 2026 13:12:27 +0400 Subject: feat: implement FParkan architecture foundation Add the modular fparkan workspace, domain crates, adapters, apps, xtask policy/CI, acceptance evidence, and licensed corpus gates for the macOS-focused roadmap foundation. --- crates/nres/README.md | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 crates/nres/README.md (limited to 'crates/nres/README.md') diff --git a/crates/nres/README.md b/crates/nres/README.md deleted file mode 100644 index 8b9dfb5..0000000 --- a/crates/nres/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# nres - -Rust-библиотека для работы с архивами формата **NRes**. - -## Что умеет - -- Открытие архива из файла (`open_path`) и из памяти (`open_bytes`). -- Поддержка `raw_mode` (весь файл как единый ресурс). -- Чтение метаданных и итерация по записям. -- Поиск по имени без учёта регистра (`find`). -- Чтение данных ресурса (`read`, `read_into`, `raw_slice`). -- Редактирование архива через `Editor`: -- `add`, `replace_data`, `remove`. -- `commit` с пересчётом `sort_index`, выравниванием по 8 байт и атомарной записью файла. - -## Модель ошибок - -Библиотека возвращает типизированные ошибки (`InvalidMagic`, `UnsupportedVersion`, `TotalSizeMismatch`, `DirectoryOutOfBounds`, `EntryDataOutOfBounds`, и др.) без паник в production-коде. - -## Покрытие тестами - -### Реальные файлы - -- Рекурсивный прогон по `testdata/nres/**`. -- Сейчас в наборе: **120 архивов**. -- Для каждого архива проверяется: -- чтение всех записей; -- `read`/`read_into`/`raw_slice`; -- `find`; -- `unpack -> repack (Editor::commit)` с проверкой **byte-to-byte**. - -### Синтетические тесты - -- Проверка основных сценариев редактирования (`add/replace/remove/commit`). -- Проверка валидации и ошибок: -- `InvalidMagic`, `UnsupportedVersion`, `TotalSizeMismatch`, `InvalidEntryCount`, `DirectoryOutOfBounds`, `NameTooLong`, `EntryDataOutOfBounds`, `EntryIdOutOfRange`, `NameContainsNul`. - -## Быстрый запуск тестов - -```bash -cargo test -p nres -- --nocapture -``` -- cgit v1.2.3