112 Commits
Author SHA1 Message Date
Dmitry Stepanov ef39d2aada updated msrv 2025-10-22 20:27:20 +03:00
b-guild 75b873d72b Making resource handles UUID-based instead of path-based. 2025-10-13 18:55:27 -07:00
b-guild 7311ddbe21 Improving error reporting. (#853) 2025-10-08 19:37:33 +03:00
b-guild 89e7cdbe28 Preventing deadlock by replacing lock with safe_lock (#852)
* Preventing deadlock by replacing `lock` with `safe_lock`

* Fixing unused code warnings in wasm SafeLock
2025-10-05 10:34:06 +03:00
LuoZheng2002 7ec002f00c Renamed pool method typed_ref to try_get (#846)
* replaced the BorrowAs trait with ObjectOrVariant trait; added explicit trait bounds in pool and graph's typed_ref method.

* renamed pool's typed_ref to try_get

* renamed try_get to try_get_node in BaseSceneGraph

* deleted try_get_mut from impl Graph, and replaced all occurrences with try_get_node_mut

* renamed typed_ref in SceneGraph to try_get

* added graph::prelude which contains AbstractSceneGraph, BaseSceneGraph and SceneGraph traits; added use graph::prelude::* in the script template to expose try_get functionalities.

* resolved merge issues

* formatted code

* added use fyrox::graph::prelude::* to template game/src/lib.rs to expose UserInterface's try_get functionality

* added "#[allow(unused_imports)]" on game template and script template
2025-10-01 20:54:17 +03:00
LuoZheng2002andDmitry e0e8218a72 Replaced the BorrowAs trait with ObjectOrVariant trait. (#841)
* replaced the BorrowAs trait with ObjectOrVariant trait; added explicit trait bounds in pool and graph's typed_ref method.

* fixed tests

* fixed restore_integrity test

- it was failing spontaneously due do conflicting resource registries from two tests

* fixed clippy warnings

* install rustfmt + clippy on a CI machine before running the tests

* fixed confusing documentation about batching

* updated changelog

* changelog fixes

* ability to set runs via respective message

* replaced the BorrowAs trait with ObjectOrVariant trait; added explicit trait bounds in pool and graph's typed_ref method.

* removed unused imports

* satisfied cargo doc

---------

Co-authored-by: Dmitry <[email protected]>
2025-09-29 00:30:48 +03:00
Dmitry Stepanov 0e3bd07c38 1.0.0-rc.1 2025-05-29 18:58:18 +03:00
Dmitry Stepanov fc631b1e0d fixed clippy warnings + tests compilation + cargo fmt 2025-05-18 12:14:31 +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 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 a747e3c00d tidy up resource header content
- moved resource uuid to ResourceState::Ok
2025-04-01 23:14:30 +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 78859c6d55 more concise naming 2025-03-10 20:30:17 +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
Dmitry Stepanov e5d7c522f7 fixed BorrowAs trait declaration by adding associated type
- allows to remove some boilerplate code
2025-03-09 16:34:22 +03:00
Dmitry Stepanov 42a70de6eb print allowed type name in the node selector + do type checking
- minor fixes
2025-03-09 16:03:38 +03:00
Dmitry Stepanov af56f7bf15 use BorrowAs trait for scene node handles + renaming 2025-03-08 23:25:50 +03:00
Dmitry Stepanov 6c82f60827 removed Downcast trait, replaced with define_as_any_trait macro 2025-03-07 23:21:16 +03:00
Dmitry Stepanov 6368847a4d fixed mapping of inheriable derived handles 2025-03-06 21:40:48 +03:00
Dmitry Stepanov 9cea9d2151 BaseSceneGraph::actual_type_id + try_cast/try_cast_mut 2025-03-06 20:43:00 +03:00
Dmitry Stepanov 656433f9b7 proc macro for DerivedEntityListProvider trait
- implemented this trait for all scene nodes and ui nodes
2025-03-03 20:15:16 +03:00
Dmitry Stepanov 84ec8bdc17 fixed derived handle mapping test 2025-03-03 10:19:26 +03:00
Dmitry Stepanov ebd5863199 debug impl for NodeHandleMap 2025-03-03 10:19:04 +03:00
Dmitry Stepanov 54f369d477 experimental functionality to link handle types together 2025-03-01 12:02:58 +03:00
Dmitry Stepanov cc17cbdc3d 0.36.2 + yanked 0.36.1 2025-02-27 10:52:15 +03:00
Dmitry Stepanov 154f815b10 bumped versions 2025-02-27 10:37:34 +03:00
Dmitry Stepanov 1993a758d1 removed lots of redundant as_any + as_any_mut impls
- replaced them with `Downcast` trait
2025-01-12 23:00:18 +03:00
Dmitry Stepanov daa02c76fe set all engine crates to version 0.36 2024-12-26 22:34:42 +03:00
Dmitry Stepanov f734c2a4b7 disable log file by default + explicit api to change log file
- log file could be undesirable in some cases and now it is off by default and can be enabled by `Log::set_file_name/set_file` in `fn main`
- bumped MSRV to 1.80 and to use LazyLock
2024-12-23 14:36:57 +03:00
Dmitry Stepanov 902d76d1b6 fixed clippy warnings 2024-12-02 12:42:39 +03:00
Dmitry Stepanov 6d4a4ea528 fixed docs 2024-11-24 16:49:49 +03:00
Dmitry Stepanov 14a49040b3 has_component helper methods 2024-11-24 16:42:44 +03:00
Dmitry Stepanov ad673e08fb removed hardcoded ui widgets constructors
- replaced with user-defined constructors via ConstructorProvider trait
2024-11-21 23:05:33 +03:00
Dmitry Stepanov 68ce2e037a fixed node handle mapping for hash maps 2024-11-08 15:05:17 +03:00
Dmitry Stepanov 29113b58e0 changed traverse_iter to return a pair of handle and ref
- much more convenient when there's a need to handle a handle with a reference at the same time, no need to do re-borrow which is double work anyway
2024-11-01 11:50:29 +03:00
Hamir Mahal 8e3445c742 style: simplify string formatting for readability (#686)
* style: simplify string formatting for readability

* fix: formatting in 15 files
2024-10-13 23:48:48 +03:00
Dmitry Stepanov bc7434c089 license update 2024-08-11 11:45:33 +03:00
Dmitry Stepanov 9e9665dd6f BaseSceneGraph::remove_nodes 2024-06-17 20:07:58 +03:00
Dmitry Stepanov 5cf61ca018 fixes for fyrox-template + bump versions again 2024-05-23 20:08:04 +03:00
Dmitry Stepanov bda1a36aa2 bump versions 2024-05-23 19:41:09 +03:00
Dmitry Stepanov 98379e58fb refactored project structure to support dylib feature
- this makes engine usage as `dylib` easier
- also fixes dependency bug, that caused the engine to be rebuilt/relinked when building different packages from the same workspace (i.e. editor and executor)
2024-03-16 10:19:18 +03:00
Dmitry Stepanov e583ecd878 fixed clippy warnings + tests 2024-02-12 12:09:00 +03:00
Dmitry Stepanov cb51d66083 fixed animation import in animation editor + added AnimationSource trait 2024-02-12 12:05:44 +03:00
Dmitry Stepanov 0a6cf67df0 AbstractSceneNode + AbstractSceneGraph traits + impls 2024-02-11 15:44:07 +03:00
Dmitry Stepanov c687608a40 fixed object-safety for BaseSceneGraph 2024-02-11 15:30:11 +03:00
Dmitry Stepanov 6499937553 split SceneGraph trait into object-safe and object-non-safe parts
- `BaseSceneGraph` is object safe, which allows to pass it using `&dyn BaseSceneGraph<..>` references
2024-02-11 15:24:33 +03:00
Dmitry Stepanov 31632a88b8 ability to reoder nodes in world viewer 2024-02-07 22:06:59 +03:00
Dmitry Stepanov bd21de8292 SceneGraph::relative_position + SceneGraphNode::child_position 2024-02-07 17:53:20 +03:00