Merge pull request #710 from MihailRis/release-0.30

Release 0.30
This commit is contained in:
MihailRis 2025-11-27 20:01:49 +03:00 committed by GitHub
commit 1f9b10db6e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 122 additions and 117 deletions

View File

@ -1,6 +1,6 @@
# 0.29 - 2025.09.20 # 0.30 - 2025.11.27
[Documentation](https://github.com/MihailRis/VoxelEngine-Cpp/tree/release-0.29/doc/en/main-page.md) for 0.29 [Documentation](https://github.com/MihailRis/VoxelEngine-Cpp/tree/release-0.30/doc/en/main-page.md) for 0.30
Table of contents: Table of contents:
@ -11,121 +11,132 @@ Table of contents:
## Added ## Added
- pathfinding - audio recording
- components: - in-memory filesystems
- core:pathfinding - `:block` placement (generator)
- core:player - `on_block_present`, `on_block_removed` events
- core:mob - debugging server
- `rotate` and `origin` vcm modifiers (rotation)
- custom audio streams in lua (audio.PCMStream class)
- add I16view, I32view, U16view, I32view lua classes
- libraries: - libraries:
- random - compression
- gfx.skeletons - audio.input
- (documented) assets - editing atlas textures feature
- udp support - add non_reset_packs argument to app.reset_content
- schedules - freeze debug panel values on cursor unlock
- events: - project:content content source
- on_physics_update (components) - project start application script
- on_block_tick(x, y, z, tps) (blocks) - uinode.exists property
- custom hand controller - uinode events:
- http headers - `onrightclick`
- named pipes - `onmouseover`
- optimizations: - `onmouseout`
- speed up block.set - frameless window mode
- speed up vectors - settings:
- items description - `display.adaptive-menu-fps` experimental flag
- item properties methods - `graphics.soft-lighting`
- tab + shift+tab - command-line arguments:
- blocks, items tags - `--tps` command line argument for headless mode
- pack dependencies versions - `--dbg-server` command line argument
- ~~allow to disable autospawn position~~ use player.set_spawnpoint - added error callback argument to network.tcp_connect
- entity.spawn command - go back in menu on Escape pressed
- project script - publish `hud.exchange-slot` element
- gui.root document - add `istoplevel` argument to input.add_callback
- time.schedules.world.common: Schedule - engine pause mode (debugging)
- rebuild mip-maps on texture reload
- documentation:
- documented player.set_camera and related
- documented `on_hud_render` event
- update app library docs
- updated content-packs docs (added full pack structure)
### Changes ### Changes
- app.sleep_until - added 'timeout argument' - optimization:
- network.get / post - added 'data' argument to error callback - fixed major chunks loading performance issue
- autorefresh model preview - reduced headless mode chunks memory consumption
- move player controls to lua - vecn functions optimization is not experimental now
- move hand control to lua - pass pack environment to menu page script
- canvas element autoresize
- disable mouse camera control if non-standard camera used
- events without prefix are forbidden now
- player.* functions now throw exception in headless mode if player id not specified
### Functions ### Functions
- block.model_name - app.create_memory_device
- block.has_tag - app.focus
- item.has_tag - app.get_content_sources
- item.description - app.open_url
- base64.encode_urlsafe - app.set_content_sources
- base64.decode_urlsafe - app.start_debug_instance
- vec2.rotate - assets.to_canvas
- vecn.distance - audio.get_all_input_devices_names
- vecn.mix - audio.get_input_info
- rigidbody:get_vdamping - audio.input.fetch
- rigidbody:set_vdamping - audio.input.request_open
- entity:require_component - canvas:add
- network.udp_connect - canvas:encode
- random.random - canvas:get_data
- random.bytes - canvas:mul
- random.uuid - canvas:rect
- Random:random - canvas:sub
- Random:seed - canvas:unbind_texture
- hud.hand_controller - Canvas.decode
- inventory.get_caption - compression.decode
- inventory.set_caption - compression.encode
- inventory.get_description - debug.get_pack_by_frame
- inventory.set_description - file.create_memory_device
- pathfinding.create_agent - gui.ask
- pathfinding.remove_agent - gui.set_syntax_styles
- pathfinding.set_enabled - gui.show_message
- pathfinding.is_enabled - hud.is_open
- pathfinding.make_route - input.get_mouse_delta
- pathfinding.make_route_async - network.find_free_port
- pathfinding.pull_route - PCMStream:create_sound
- pathfinding.set_max_visited - PCMStream:feed
- pathfinding.avoid_tag - PCMStream:share
- gfx.skeletons.get - player.get_all
- Skeleton:index - player.get_all_in_radius
- Skeleton:get_model - player.get_dir
- Skeleton:set_model - player.get_interaction_distance
- Skeleton:get_matrix - player.get_nearest
- Skeleton:set_matrix - player.set_interaction_distance
- Skeleton:get_texture - socket:is_nodelay
- Skeleton:set_texture - socket:recv_async
- Skeleton:is_visible - socket:set_nodelay
- Skeleton:set_visible - string.escape_xml
- Skeleton:get_color - textbox:indexByPos
- Skeleton:set_color - textbox:lineY
- Schedule:set_timeout(time_ms, callback) - utf8.escape_xml
- Schedule:set_interval(interval_ms, callback, [optional] repetions): int
- Schedule:remove_interval(id)
- ScheduleGroup:publish(schedule: Schedule)
## Fixes ## Fixes
- fix 3d text position / culling - [fix: "Bytearray expected, got function"](https://github.com/MihailRis/voxelcore/commit/2d1c69ee7e7248d8e86e00c4a2f5cead490cd278)
- fix fragment:place rotation (#593) - [fix zero frames texture animation fatal error](https://github.com/MihailRis/voxelcore/commit/e9222976efa67e2fe541962aabb6485363a12354)
- fix server socket creation in macos - [fix non-local players interpolation and head direction](https://github.com/MihailRis/voxelcore/commit/75ef603df0b1958e0c9eb95c2474dc7f3ec34057)
- fix: base packs not scanned for app scripts - [fix std::bad_alloc caused by corrupted regions](https://github.com/MihailRis/voxelcore/commit/47cdc0213723c74be3e41b39702b656a2db0448d)
- fix lua::getfield and events registering - [fix 'align' ui property reading](https://github.com/MihailRis/voxelcore/commit/c8ba5b5dbb7980a6576444fed9f7ea66ae1ed32a)
- fix UIDocument::rebuildIndices - [fix incorrect textbox horizontal scroll](https://github.com/MihailRis/voxelcore/commit/bc86a3d8da4301ea6ce94c52715bd7cf863b0c37)
- fix input library in headless mode - [fix: wrong environment used in modules imported by require(...)](https://github.com/MihailRis/voxelcore/commit/5626163f17a252212607dc63bfcd726df44bf290)
- fix rigidbody:set_gravity_scale - [fix: some container attributes not available in panel](https://github.com/MihailRis/voxelcore/commit/8a858beeb421495247a8dfae064672bcf6eb4190)
- fix extended blocks destruction particles spawn spread, offset - [fix generation.load_fragment](https://github.com/MihailRis/voxelcore/commit/b4ba2da95524025991f07be87b61ecc015f12656)
- fix shaders recompiling - [fix: byteutil.unpack 'b' is equivalent of 'B'](https://github.com/MihailRis/voxelcore/commit/2a9507b54e58f852b558d7bc9b2cc88397d37a34)
- fix: C++ vecn functions precision loss - [fix: missing yaml null literals](https://github.com/MihailRis/voxelcore/commit/5755c616f35cc1c1fc5e94ecbc9c38a5a7f52275)
- fix coroutines errors handling - [fix yaml array parsing](https://github.com/MihailRis/voxelcore/commit/026ae756cf4ad4a4febbef58ce2f007b2a0fc974)
- fix: viewport size on toggle fullscreen - [fix mouse click textbox caret set](https://github.com/MihailRis/voxelcore/commit/a1f0c2c2527b91d3a1d4f47eb2c043ebdef60119)
- fix: fullscreen monitor refresh rate - [fix wrapped textbox selection render](https://github.com/MihailRis/voxelcore/commit/76b54a890c35b6edb6d5018078c865f31e966965)
- fix: content menu panel height - [fix broken dependencies management](https://github.com/MihailRis/voxelcore/commit/ee6f006b797d1a560baa9e333c99ee0181f548b6)
- fix generation.create_fragment (#596) - [fix assets.parse_model with 'xml' format](https://github.com/MihailRis/voxelcore/commit/ec94abccbc4604e5d945d2bb8d1a63561797092b)
- fix bytearray:insert (#594) - [fix correct line generation algorithm and bounds calculation](https://github.com/MihailRis/voxelcore/commit/ed9cf8800aea07c169719a3efddae7020e6be7e9)
- fix: script overriding - [fix enable per-variant custom model caching](https://github.com/MihailRis/voxelcore/commit/2a1d2f9354ee2ab623aca9d0059c0a676395d6d0)
- fix: hud.close after hud.show_overlay bug - [fix: stream stops and dies on underflow](https://github.com/MihailRis/voxelcore/commit/cf561e78a81810fcb70975c7b785938af37b4b64)
- fix: 'cannot resume dead coroutine' (#569) - [fix Schedule:set_timeout](https://github.com/MihailRis/voxelcore/commit/1e16ab5464b80d258fd955cf0485ebf596298ab3)
- fix: skybox is not visible behind translucent blocks - [fix major chunks loading performance issue](https://github.com/MihailRis/voxelcore/commit/957f9f59983790583fb57c9e9a3661631f380153)
- fix: sampler arrays inbdexed with non-constant / uniform-based expressions are forbidden - [fix: undo/redo also available when textbox is not editable](https://github.com/MihailRis/voxelcore/commit/0df5684adf3117f4018e4b34868f6c41ee7125e3)
- fix initial weather intensity - [fix player library docs](https://github.com/MihailRis/voxelcore/commit/51f07450d89781ce35bd630e07ea8cf33b912b93)
- fix drop count (560) - [fix: root node id overriding](https://github.com/MihailRis/voxelcore/commit/91cb5ab7d8ca5376d87e1ad69b8f2cb05278d73d)
- fix BasicParser::parseNumber() out of range (560) - [fix extended block placement across chunk borders](https://github.com/MihailRis/voxelcore/commit/b85c5e367a2adea57ab0c3111e3d3b0cc924322b)
- fix rotation interpolation (#557) - [fix modelviewer fbo creation](https://github.com/MihailRis/voxelcore/commit/be6710bc831f700bd9099860c704b3571d1d90fa)
- [fix: panel width differs to size specified in xml](https://github.com/MihailRis/voxelcore/commit/8cc51a107e27e1cb5ae8343fa0151db9c9a66852)

View File

@ -3,7 +3,7 @@
## Latest release ## Latest release
- [Download](https://github.com/MihailRis/VoxelCore/releases/latest) | [Скачать](https://github.com/MihailRis/VoxelCore/releases/latest) - [Download](https://github.com/MihailRis/VoxelCore/releases/latest) | [Скачать](https://github.com/MihailRis/VoxelCore/releases/latest)
- [Documentation](https://github.com/MihailRis/VoxelCore/blob/release-0.29/doc/en/main-page.md) | [Документация](https://github.com/MihailRis/VoxelCore/blob/release-0.29/doc/ru/main-page.md) - [Documentation](https://github.com/MihailRis/VoxelCore/blob/release-0.30/doc/en/main-page.md) | [Документация](https://github.com/MihailRis/VoxelCore/blob/release-0.30/doc/ru/main-page.md)
--- ---

View File

@ -2,9 +2,6 @@
Documentation for 0.30. Documentation for 0.30.
> [!WARNING]
> Version is in development. Proceed to [Documentation for 0.29.](https://github.com/MihailRis/voxelcore/blob/release-0.29/doc/en/main-page.md)
## Sections ## Sections
- [Assets preloading](assets-preload.md) - [Assets preloading](assets-preload.md)

View File

@ -2,9 +2,6 @@
Документация версии 0.30. Документация версии 0.30.
> [!WARNING]
> Версия находится в разработке. Перейдите к [документации для 0.29.](https://github.com/MihailRis/voxelcore/blob/release-0.29/doc/ru/main-page.md)
## Разделы ## Разделы
- [XML разметка интерфейса](xml-ui-layouts.md) - [XML разметка интерфейса](xml-ui-layouts.md)