1004 Commits

Author SHA1 Message Date
Dmitry Stepanov 6fd087d7e2 Visit trait impls for quality settings structs 2026-07-19 14:06:14 +03:00
Dmitry Stepanov 326be93c3c removed redundant methods
- simplifies the api a bit
- makes no sense to have these methods in the core crate when they're used on the editor only once
2026-07-11 20:29:35 +03:00
Dmitry Stepanov 2bf599e7d2 improved error handling in animation 2026-07-11 18:51:46 +03:00
Dmitry Stepanov d2688d64ff attempt to fix random crash in physics step
- related to out-of-bounds index that isn't checked in the physics lib internals
2026-07-08 23:14:38 +03:00
Dmitry Stepanov aba8743714 fixed compilation errors for doc tests 2026-07-08 19:59:24 +03:00
Dmitry Stepanov 2482747fb2 fixed batching in push_triangles
- do not add new bundle when the evaluated id is the same
- instead, update the number of triangles in the bundle
- vertex/index buffer will be the same across all bundles with the same vertex layout
2026-07-08 18:41:16 +03:00
Dmitry Stepanov 6a858abda9 fixed incorrect usage of dynamic surface cache
- generate a bundle per material and a surface per vertex buffer layout
- add any number of instances to the bundle, but leave the number of surfaces the same
- fixes uncontrollable growth of dynamic surface cache (especially when moving camera)
2026-07-07 23:53:42 +03:00
Dmitry Stepanov c9f454509f print dynamic surface cache stats 2026-07-04 21:03:33 +03:00
Dmitry Stepanov 5112072d1e bump msrv + clippy fixes 2026-07-04 20:54:03 +03:00
Dmitry Stepanov 60d316fa71 fixed uncontrollable growth of dynamic surface cache 2026-07-04 20:52:22 +03:00
Dmitry Stepanov e9860c2d34 removed redundant memory allocations for skybox cube map
- in some cases saves up to 200 Mb of RAM (tons of prefabs)
2026-07-03 23:00:20 +03:00
Dmitry Stepanov fc305b3b02 property editors for kcc 2026-06-26 21:47:16 +03:00
Dmitry Stepanov dc514811f0 added missing PartialEq impls for kinematic character controller 2026-06-26 21:35:41 +03:00
Dmitry Stepanov 10724b7542 2d kinematic character controller 2026-06-24 21:44:54 +03:00
Dmitry Stepanov e03b033664 fixed default impl for CharacterAutostep 2026-06-22 23:37:40 +03:00
Dmitry Stepanov 0b8038aa27 kinematic character controller
- mostly a integration/wrapper for rapier's kinematic character controller with a few useful methods
- 3d only for now
- experimental
2026-06-21 23:13:57 +03:00
Dmitry Stepanov dee90e6069 preserve rigid body type in ragdoll 2026-06-18 22:37:19 +03:00
Dmitry Stepanov df3549d942 make isometry_from_global_transform public 2026-06-17 23:02:08 +03:00
Dmitry Stepanov fbcc8655d7 typed handles for shape casting 2026-06-17 21:55:03 +03:00
Dmitry Stepanov 4fbb2b0182 Physics::cast_collider_shape 2026-06-17 21:48:23 +03:00
Dmitry Stepanov 1f88118974 fixed re-export issues
- re-exporting only `shape::*` is kinda pointless, since it does not have any actual shapes defined
- re-exporting the whole `geometry` module is much better, because it solves the issue above
2026-06-15 23:23:34 +03:00
Dmitry Stepanov d179d10e50 update to rapier 0.33 2026-06-14 22:17:47 +03:00
Dmitry Stepanov 5e9cabba00 template fixes + more PartialEq impls 2026-06-11 12:25:21 +03:00
Dmitry Stepanov 806c3ed297 finished with PartialEq impls 2026-06-11 12:05:30 +03:00
Dmitry Stepanov 6ffc26b274 more precise naming 2026-06-02 21:49:02 +03:00
Dmitry Stepanov 2ce1624186 renamed SceneGraphNode trait to NodeWrapper
- `SceneGraphNode` was implemented for types `struct Wrapper(Box<dyn NodeTrait>)`
- calling such types node itself is wrong, because the actual node is stored inside the box
2026-05-31 22:17:31 +03:00
Dmitry Stepanov e485a2fc37 removed unused associated type 2026-05-31 21:53:49 +03:00
Dmitry Stepanov 7f33a13ff9 merged TypeUuidProvider trait into Reflect 2026-05-28 21:50:17 +03:00
Dmitry Stepanov 4876827a6d fixed tests + docs comment
CI / Tests CI (macos-latest, stable) (push) Has been cancelled
CI / Tests CI (ubuntu-latest, stable) (push) Has been cancelled
CI / Tests CI (windows-latest, stable) (push) Has been cancelled
CI / Wasm CI (stable) (push) Has been cancelled
CI / Rustfmt CI (push) Has been cancelled
CI / Clippy CI (push) Has been cancelled
CI / Documentation CI (push) Has been cancelled
CI / Project Template (PC) (push) Has been cancelled
CI / Project Template (Android) (push) Has been cancelled
CI / Project Template (WASM) (push) Has been cancelled
CI / Project Manager (push) Has been cancelled
2026-05-25 19:53:56 +03:00
Dmitry Stepanov bee807ea17 fixed downcasting for widgets and scene nodes
- removed a bunch of unnecessary casts to &dyn Reflect
2026-05-22 20:31:20 +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 07566d95b4 use derived impls of Reflect for Script + Node 2026-05-20 23:47:38 +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 e7f1b1d4d8 cleaned up type info fetching from Reflect + put type info in a struct 2026-05-15 11:32:33 +03:00
Dmitry Stepanov b3be88a471 Reflect::into_any -> Reflect::into_inner_reflect + docs 2026-05-14 11:28:08 +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 d317a1179f fixed doc comments + fixed misleading docs 2026-05-10 20:06:56 +03:00
Dmitry Stepanov 1c0cf15c50 unified naming for field fetching via reflection
- previous approach with `ComponentProvider` trait was quite misleading, it didn't return a "component" - it simply returned marked fieds
- the new approach is more explicit - method names tells exactly what they do
2026-05-10 18:28:18 +03:00
Dmitry Stepanov c03e4aa7e9 removed ComponentProvider, merged its functionality into Reflect
- chained component fetching isn't supported yet, so it is not one-to-one merge
2026-05-09 19:55:11 +03:00
Dmitry Stepanov 5cf90dff53 Reflect::first_field_ref/mut_of_type 2026-05-08 15:18:08 +03:00
Dmitry Stepanov 1904f95519 Reflect::get_field_direct_ref/mut 2026-05-08 12:56:48 +03:00
Dmitry Stepanov 660bcd709a renamed field -> find_field + field_mut -> find_field_mut 2026-05-06 23:49:46 +03:00
Dmitry Stepanov 60d8b2d9eb cargo fmt 2026-04-25 00:03:53 +03:00
Dmitry Stepanov 7a0ad6d792 fixed crash on exit when using the engine in hot reloading mode 2026-04-25 00:03:07 +03:00
Dmitry Stepanov af0f6178d8 catch and report infinite message loops in ui message handling 2026-04-23 23:04:41 +03:00
Dmitry Stepanov 94a0420854 improved logging for hot reloading failures 2026-04-23 21:52:37 +03:00
Dmitry Stepanov f3befeef86 fixed clippy warnings 2026-04-22 23:49:45 +03:00
Dmitry Stepanov d1aba15d44 fixed copy_node_inplace implementation 2026-04-17 22:45:39 +03:00
Dmitry Stepanov 9214ae372f remove unused features 2026-04-15 22:55:39 +03:00