110 Commits
Author SHA1 Message Date
Dmitry Stepanov efe97b8229 handle non-exhaustive enums in Visit proc-macro correctly 2026-08-11 11:48:55 +03:00
Dmitry Stepanov 1d647d52c0 added missing save method impl 2026-08-05 21:38:09 +03:00
Dmitry Stepanov 4a6626607a fixed incorrect index 2026-07-13 21:53:51 +03:00
Dmitry Stepanov b81f3a8469 curve fetching optimization for animation system
- gives 2x-3x performance boost on average
- essentially turns binary search of a span into simple indexing using stored index value from the previous frame (so called "fetch hint")
2026-07-13 21:46:52 +03:00
Dmitry Stepanov e8f3067e17 improved animation system performance
- removed most of redundant memory allocations that happened each frame
- overall gain is about 10%
2026-07-12 22:42:46 +03:00
Dmitry Stepanov b1aebf3c47 fixed absm layer mask bug
- very subtle bug that happened due to handle remapping step that uses reflection to access sorted array and it may turn the sorted array into non-sorted which breaks binary search
- this bug resulted in corrupted animations with multiple layers
2026-07-11 22:35:44 +03:00
Dmitry Stepanov 5112072d1e bump msrv + clippy fixes 2026-07-04 20:54:03 +03:00
Dmitry Stepanov 16e9d61e91 fixed reflection for NotNode 2026-06-30 23:08:41 +03:00
Dmitry Stepanov 5d0a957d5b fixed incorrect reflection for logic nodes for absm 2026-06-29 23:25:22 +03:00
Dmitry Stepanov 7f33a13ff9 merged TypeUuidProvider trait into Reflect 2026-05-28 21:50:17 +03:00
Dmitry Stepanov 480559e07a refactored Reflect::as_xxx methods to return value itself
- there's no reason anymore to use closures there because proxy structures now supports reflection in normal way
2026-05-21 18:22:39 +03:00
Dmitry Stepanov ec83a5d6e5 refactored Reflect trait to remove unnecessary proxying
- proxying to the inner value overly complicates the implementation and adds a lot overhead
- this is quite dangerous change since it may have subtle side effects, needs to be thoroughly tested
2026-05-19 18:49:17 +03:00
Dmitry Stepanov 93d4920477 renamed methods with confusing naming + docs 2026-05-16 19:31:41 +03:00
Dmitry Stepanov 91f8c360b5 removed Reflect::as_any/as_any_mut
- useless methods because can be replaced via `Reflect::as_reflect` + `as &dyn Reflect` cast
2026-05-13 23:33:13 +03:00
Dmitry Stepanov 1904f95519 Reflect::get_field_direct_ref/mut 2026-05-08 12:56:48 +03:00
Dmitry Stepanov 35656f24cd shortcuts for Machine::set_parameter 2026-04-21 21:58:00 +03:00
Dmitry Stepanov 4a0602ab25 bump version for the future release
- helps to catch bug reports from the "nightly" version of the engine
2026-03-30 20:50:58 +03:00
Dmitry Stepanov 9e9e2d7032 1.0.1 + changelog 2026-03-28 09:39:38 +03:00
Dmitry Stepanov 262f6a5e26 fixed incorrect id for default animation tracks data container 2026-03-08 21:20:06 +03:00
Dmitry Stepanov 496414ee33 bump version 2026-02-12 19:08:48 +03:00
Dmitry Stepanov 4de934e11f 1.0.0-rc.2 2026-02-05 22:04:37 +03:00
Dmitry Stepanov 739b8abb70 fixed infinite recursion in trait bounds for Visit and Reflect procmacro
- this bug was rare, but very annoying
2026-01-19 22:06:39 +03:00
Dmitry Stepanov 1e79298d60 error handling for graph + fixes for the engine
- editor fixes on their way
2025-12-23 20:11:46 +03:00
Dmitry Stepanov ddd7a17fc8 [BREAKING] drop backward compatibility for assets
- use this tool from 1.0.0-rc.1  https://fyrox.rs/blog/post/fyrox-game-engine-1-0-0-rc-1/#migration to migrate the assets
2025-11-02 19:48:19 +03:00
Dmitry Stepanov 9148813d6a cargo fmt 2025-11-01 17:46:18 +03:00
Dmitry Stepanov 7b79b19a39 fixed clippy warnings 2025-11-01 17:23:37 +03:00
Dmitry Stepanov ef39d2aada updated msrv 2025-10-22 20:27:20 +03:00
Dmitry Stepanov 43952b7ac7 added non-euler-angles-based rotation track
- fixed gimbal lock in GLTF animations
2025-10-04 10:26:06 +03:00
b-guild 19a959a4b0 Correct source EOL from CRLF to LF, no other changes. (#851) 2025-10-03 10:56:23 +03:00
Dmitry Stepanov 269fb0d322 - fixed wasm compilation
- rollback to rand 0.8, because fuck the devs of this library who constantly invent ways to screw up someone's project
2025-09-18 22:33:35 +03:00
Dmitry Stepanov 669b38dd9c updated deps
- attempt to fix hot reloading
2025-09-18 20:30:50 +03:00
Dmitry Stepanov 25652975e0 use doc comment for property description 2025-08-16 12:11:32 +03:00
Dmitry Stepanov f97851f11d updated deps 2025-08-10 10:24:13 +03:00
Dmitry Stepanov 738a7168c0 removed useless warnings + removed dead code + updated deps 2025-08-08 23:21:29 +03:00
Dmitry Stepanov 0e3bd07c38 1.0.0-rc.1 2025-05-29 18:58:18 +03:00
Dmitry Stepanov ef4e4b46ca Reflect::try_clone_box
- `#[reflect(non_cloneable)]` for types that cannot be cloned
2025-05-16 23:26:34 +03:00
Dmitry Stepanov 3d18ba4dd3 write resource registry immediately after changes + api improvements
- applied `cargo fmt`
2025-04-07 23:15:29 +03:00
Dmitry Stepanov fbb1f5b158 fixed clippy warnings 2025-04-06 19:02:33 +03:00
Dmitry Stepanov 10a4dc048b use trait upcasting and remove as_any for ResourceData
- bumped msrv to 1.86
2025-04-06 18:56:17 +03:00
Dmitry Stepanov 9a95b7be52 refactored resource system to use uuids instead of path where possible
- editor is still broken
- mostly wip
2025-03-30 13:28:48 +03:00
Dmitry Stepanov 3edc428aac removed impls for field/field_mut
- these are redundant now, since auto-generated method does the same
2025-03-15 09:40:27 +03:00
Dmitry Stepanov ad0bbc6ed8 more concise naming for Reflect methods 2025-03-14 20:01:13 +03:00
Dmitry Stepanov b3956c0a5c removed Relfect::fields/fields_mut methods
- these are now redundant and basically a short version of `Reflect::fields_info/fields_info_mut` methods
2025-03-13 23:20:09 +03:00
Dmitry Stepanov c171b68830 Reflect::fields_info_mut + optimizations
- allows iterating over fields while be able to mutate them
- reduced FieldInfoRef/Mut size even more to just a pointer+fat pointer
2025-03-13 20:52:28 +03:00
Dmitry Stepanov f59d2fe783 split FieldInfo into two parts FieldInfo + FieldMetadata
- field metadata is now stored as a static variable and passed as a reference to FieldInfo
- speeds up fields iteration (especially with large hierarchies) by reducing amount of required stack-allocated memory and memory writes. Now it requires only 24 bytes, instead of ~96 bytes
- api-wise everything remains mostly unchanged (thanks to deref into FieldMetadata)
2025-03-12 20:08:25 +03:00
Dmitry Stepanov d22a18ce95 removed owner_type_id field from FieldInfo
- it was used only once in the entire project and mostly useless in other cases
- this change allows to decouple field metadata from its actual values, thus speeding up fetching of fields info
2025-03-11 23:01:47 +03:00
Dmitry Stepanov 77ecf4faaf removed redundant type_name field from FieldInfo
- it can be fetched "on-demand" using `info.value.type_name()`
- speeds up fields access and iteration a bit
2025-03-11 22:51:14 +03:00
Dmitry Stepanov 78859c6d55 more concise naming 2025-03-10 20:30:17 +03:00
Dmitry Stepanov 092d30b45c removed redundant trait bounds
- makes the code more compact and less verbose
2025-03-09 20:07:07 +03:00
Dmitry Stepanov d2c2bf167d merged DerivedEntityListProvider trait into Reflect trait
- it was a part of reflection system anyways
2025-03-09 19:43:48 +03:00