<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fparkan/crates, 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-03-08T00:02:26+00:00</updated>
<entry>
<title>fix(deps): update rust crate glow to 0.17</title>
<updated>2026-03-08T00:02:26+00:00</updated>
<author>
<name>renovate[bot]</name>
<email>renovatebot@noreply.localhost</email>
</author>
<published>2026-03-08T00:02:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=96a25b6c0e39ee39bceddbc8eae5bda8f305acbf'/>
<id>urn:sha1:96a25b6c0e39ee39bceddbc8eae5bda8f305acbf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(deps): update rust crate toml to v1</title>
<updated>2026-02-26T00:01:14+00:00</updated>
<author>
<name>renovate[bot]</name>
<email>renovatebot@noreply.localhost</email>
</author>
<published>2026-02-26T00:01:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=9fceeb9a0ae5fe0ed4a6b62136856aeab380435e'/>
<id>urn:sha1:9fceeb9a0ae5fe0ed4a6b62136856aeab380435e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(deps): update all digest updates</title>
<updated>2026-02-25T00:01:21+00:00</updated>
<author>
<name>renovate[bot]</name>
<email>renovatebot@noreply.localhost</email>
</author>
<published>2026-02-25T00:01:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=4b7f1a16b9435c025649c11806f8c8552af4c57c'/>
<id>urn:sha1:4b7f1a16b9435c025649c11806f8c8552af4c57c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add terrain-core, tma, and unitdat crates with parsing functionality</title>
<updated>2026-02-19T12:07:01+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-19T12:07:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=4ef08d0bf6366b0bc8ccb6357b794937411f74cc'/>
<id>urn:sha1:4ef08d0bf6366b0bc8ccb6357b794937411f74cc</id>
<content type='text'>
- Introduced `terrain-core` crate for loading and processing terrain mesh data.
- Added `tma` crate for parsing mission files, including footer and object records.
- Created `unitdat` crate for reading unit data files with validation of structure.
- Implemented error handling and tests for all new crates.
- Documented object registry format and rendering pipeline in specifications.
</content>
</entry>
<entry>
<title>feat(resource-viewer): добавить новый ресурсный просмотрщик с базовой функциональностью</title>
<updated>2026-02-19T10:51:54+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-19T10:51:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=598137ed132d95a3e3bf9b95e9e27286cc2186ac'/>
<id>urn:sha1:598137ed132d95a3e3bf9b95e9e27286cc2186ac</id>
<content type='text'>
feat(nres): улучшить структуру архива с добавлением заголовка и информации о записях
feat(rsli): добавить поддержку заголовка библиотеки и улучшить обработку записей
</content>
</entry>
<entry>
<title>feat(render-demo): добавить отображение FPS в заголовок окна и stdout в интерактивном режиме</title>
<updated>2026-02-19T10:27:10+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-19T10:27:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=cb0ca2f2f0775e62365e873a2dcce5b93082ac9a'/>
<id>urn:sha1:cb0ca2f2f0775e62365e873a2dcce5b93082ac9a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(render-demo): обновить поддержку OpenGL с добавлением выбора между GLES2 и Core 3.3</title>
<updated>2026-02-19T10:17:14+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-19T10:17:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=7346e695c46bea705d7f9487fc6602b57866048a'/>
<id>urn:sha1:7346e695c46bea705d7f9487fc6602b57866048a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: Refactor code structure and enhance functionality across multiple crates</title>
<updated>2026-02-19T10:09:18+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-19T10:09:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=bb827c3928ee6fc56c04e503be9f39ae70efee67'/>
<id>urn:sha1:bb827c3928ee6fc56c04e503be9f39ae70efee67</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(render-core): add default UV scale and refactor UV mapping logic</title>
<updated>2026-02-19T09:46:23+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-19T09:46:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=efab61a45c8837d3c2aaec464d8f6243fecb7a38'/>
<id>urn:sha1:efab61a45c8837d3c2aaec464d8f6243fecb7a38</id>
<content type='text'>
- Introduced a constant `DEFAULT_UV_SCALE` for UV scaling.
- Refactored UV mapping in `build_render_mesh` to use the new constant.
- Simplified `compute_bounds` functions by extracting common logic into `compute_bounds_impl`.

test(render-core): add tests for rendering with empty and multi-node models

- Added tests to verify behavior when building render meshes from models with no slots and multiple nodes.
- Ensured UV scaling is correctly applied in tests.

feat(render-demo): add FOV argument and improve error handling

- Added a `--fov` command-line argument to set the field of view.
- Enhanced error messages for texture resolution failures.
- Updated MVP computation to use the new FOV parameter.

fix(rsli): improve error handling in LZH decompression

- Added checks to prevent out-of-bounds access in LZH decoding logic.

refactor(texm): streamline texture parsing and decoding tests

- Created a helper function `build_texm_payload` for constructing test payloads.
- Added tests for various texture formats including RGB565, RGB556, ARGB4444, and Luminance Alpha.
- Improved error handling for invalid TEXM headers and mip bounds.
</content>
</entry>
<entry>
<title>feat: Enhance model and texture loading with improved error handling and new features</title>
<updated>2026-02-19T01:19:18+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-19T01:19:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=a281ffa32ea615670d369503692f057b2dc60e6f'/>
<id>urn:sha1:a281ffa32ea615670d369503692f057b2dc60e6f</id>
<content type='text'>
- Introduced `LoadedModel` and `LoadedTexture` structs for better encapsulation of model and texture data.
- Added functions to load models and textures from archives, including support for resolving textures based on materials and wear entries.
- Implemented error handling for missing textures, materials, and wear entries.
- Updated the rendering pipeline to support texture loading and binding, including command-line arguments for texture customization.
- Enhanced the `texm` crate with new decoding capabilities for various pixel formats, including indexed textures.
- Added tests for texture decoding and loading to ensure reliability and correctness.
- Updated documentation to reflect changes in the material and texture resolution process.
</content>
</entry>
</feed>
