f8e447ffee746cfe6580cc0e78a8a225aa39b546
Remove legacy SDL/OpenGL adapters from the workspace and introduce winit/Vulkan adapter boundaries for the rendered composition root. Add reproducible toolchain and xtask CI coverage for formatting, tests, clippy, docs, policy, deny, acceptance auditing, and hosted OS matrix evidence. Strengthen Stage 1 data contracts with byte-first paths, VFS hardening, structured diagnostics, RsLi writer/edit scaffolding, corpus reporting, and resource error classification. Advance Stage 2 asset preparation by moving mission loading through assets/runtime boundaries, materializing prototype graph data, preserving provenance, and adding inspection/viewer integration. Record the Stage 0-2 audit input, acceptance roadmap, coverage updates, and documentation notes for follow-up evidence.
FParkan
Open source проект с реализацией компонентов игрового движка игры «Паркан: Железная Стратегия».
Описание
Проект находится в активной разработке и включает:
- библиотеки для работы с форматами игровых архивов;
- спецификации форматов и сопутствующую документацию.
Установка
Проект находится в начальной стадии, подробная инструкция по установке пока отсутствует.
Документация
- локально: каталог
docs/ - сайт: https://fparkan.popov.link
Библиотеки
- crates/fparkan-nres — strict/lossless модель архивов NRes.
- crates/fparkan-rsli — чтение, lookup и lossless roundtrip архивов RsLi.
- crates/fparkan-msh — validated static MSH geometry.
- crates/fparkan-runtime — transactional mission loading и headless runtime foundation.
- apps/fparkan-cli, apps/fparkan-viewer, apps/fparkan-headless, apps/fparkan-game — composition roots.
Тестирование
Базовое тестирование проходит на синтетических тестах из репозитория:
cargo xtask ci
Для дополнительного тестирования на реальных игровых ресурсах:
- используйте оригинальную копию игры (диск или GOG-версия);
- разместите игровые каталоги в
testdata/; - игровые ресурсы в репозиторий не включаются, так как защищены авторским правом.
Локальный licensed gate использует некоммитимый manifest:
cat > /private/tmp/fparkan-corpora.toml <<'EOF'
schema = 1
[[corpus]]
id = "part1-local"
kind = "part1"
root = "/absolute/path/to/IS"
expected_profile = "parkan-is-part1"
[[corpus]]
id = "part2-local"
kind = "part2"
root = "/absolute/path/to/IS2"
expected_profile = "parkan-is-part2"
EOF
FPARKAN_CORPORA_MANIFEST=/private/tmp/fparkan-corpora.toml \
cargo xtask acceptance report --suite licensed --stage 5
Contributing & Support
Проект активно поддерживается и открыт для contribution. Issues и pull requests можно создавать в обоих репозиториях:
- Primary development: valentineus/fparkan
- GitHub mirror: valentineus/fparkan
Основная разработка ведётся в self-hosted репозитории.
Лицензия
Проект распространяется под лицензией GNU GPL v2.
Description
Languages
Rust
100%