<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fparkan/tools, branch devel</title>
<subtitle>Utilities and tools for the game "Parkan: Iron Strategy".
</subtitle>
<id>https://git.popov.link/fparkan/atom?h=devel</id>
<link rel='self' href='https://git.popov.link/fparkan/atom?h=devel'/>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/'/>
<updated>2026-02-12T10:36:15+00:00</updated>
<entry>
<title>feat: добавить экспорт в формат OBJ для рендеринга террейна и опциональных полигонов</title>
<updated>2026-02-12T10:36:15+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-12T10:36:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=aa68906a3de37eaa1b8b5e9af738abfe5b85c7f8'/>
<id>urn:sha1:aa68906a3de37eaa1b8b5e9af738abfe5b85c7f8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: добавить 3D рендерер для террейна с поддержкой Land.msh и Land.map</title>
<updated>2026-02-12T10:24:42+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-12T10:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=8bf3b7b20961b8bbe47ef8be1046fb2dab689061'/>
<id>urn:sha1:8bf3b7b20961b8bbe47ef8be1046fb2dab689061</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add terrain map documentation validator</title>
<updated>2026-02-12T10:17:41+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-12T10:17:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=669fb40a70fb975f75fa986921b9daaac1f14a0c'/>
<id>urn:sha1:669fb40a70fb975f75fa986921b9daaac1f14a0c</id>
<content type='text'>
This commit introduces a new Python script, `terrain_map_doc_validator.py`, which validates terrain and map documentation assumptions against actual game data. The validator checks for the presence and correctness of various data chunks in the `Land.msh` and `Land.map` files, reporting any issues found during the validation process. It also generates a summary report of the validation results, including counts of errors and warnings, and statistics related to the map and mesh data.
</content>
</entry>
<entry>
<title>feat: добавить скрипт для детерминированного аудита FXID "absolute parity"</title>
<updated>2026-02-12T08:22:51+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-12T08:22:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=9c0df3d299aad73e866e6a474d0aa12a4c3bbd5a'/>
<id>urn:sha1:9c0df3d299aad73e866e6a474d0aa12a4c3bbd5a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add MSH geometry export and preview rendering tools</title>
<updated>2026-02-10T23:27:43+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-10T23:27:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=5035d022206bf9ace54a43b4d65abe0b9fc0f361'/>
<id>urn:sha1:5035d022206bf9ace54a43b4d65abe0b9fc0f361</id>
<content type='text'>
- Implemented msh_export_obj.py for exporting NGI MSH geometry to Wavefront OBJ format, including model selection and geometry extraction.
- Added msh_preview_renderer.py for rendering NGI MSH models to binary PPM images, featuring a primitive software renderer with customizable parameters.
- Both tools utilize the same NRes parsing logic and provide command-line interfaces for listing models and exporting or rendering geometry.
</content>
</entry>
<entry>
<title>feat: добавить скрипты для инициализации тестовых данных и настройки окружения</title>
<updated>2026-02-09T22:39:12+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-09T22:39:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=828106ba810063801b14ea3d5b0d33802fcf0d2b'/>
<id>urn:sha1:828106ba810063801b14ea3d5b0d33802fcf0d2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add .gitignore for Python and project-specific files; implement archive roundtrip validator</title>
<updated>2026-02-09T21:58:16+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-09T21:58:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=ef9323772446e25a8d3dc5ee0e3954f921bb0074'/>
<id>urn:sha1:ef9323772446e25a8d3dc5ee0e3954f921bb0074</id>
<content type='text'>
- Updated .gitignore to include common Python artifacts and project-specific files.
- Added `archive_roundtrip_validator.py` script for validating NRes and RsLi formats against real game data.
- Created README.md for the tools directory, detailing usage and supported signatures.
- Enhanced nres.md with practical nuances and empirical checks for game data.
</content>
</entry>
<entry>
<title>feat: remove Rust project</title>
<updated>2026-02-04T20:37:59+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-04T20:37:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=afe6b9a29b1f4b5f116a96fa42ee929e32e530e3'/>
<id>urn:sha1:afe6b9a29b1f4b5f116a96fa42ee929e32e530e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: update dependencies and fix clippy warnings</title>
<updated>2026-01-19T16:52:54+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-01-19T16:52:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=9dcce9020130dbef7787abd4ba43c766d491bda8'/>
<id>urn:sha1:9dcce9020130dbef7787abd4ba43c766d491bda8</id>
<content type='text'>
- refresh Cargo.lock to latest compatible crates
- simplify u32-&gt;u64 conversion in libnres
- use is_multiple_of in unpacker list validation
</content>
</entry>
<entry>
<title>Update all digest updates (#41)</title>
<updated>2025-08-27T08:23:15+00:00</updated>
<author>
<name>renovate[bot]</name>
<email>29139614+renovate[bot]@users.noreply.github.com</email>
</author>
<published>2025-08-27T08:23:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=c268e4c205122051ef8c6f2c050e6bb94ebecbf0'/>
<id>urn:sha1:c268e4c205122051ef8c6f2c050e6bb94ebecbf0</id>
<content type='text'>
Co-authored-by: renovate[bot] &lt;29139614+renovate[bot]@users.noreply.github.com&gt;</content>
</entry>
</feed>
