Commit Graph
100 Commits
Author SHA1 Message Date
Dmitry Stepanov 428ab3b432 removed useless stuff 2025-05-25 18:31:34 +03:00
Dmitry Stepanov 1008511f6b cargo fmt + fixed wasm compilation 2025-05-25 17:37:39 +03:00
Dmitry Stepanov 82e53ba5d7 moved opengl-specific code to fyrox-graphics-gl 2025-05-25 16:32:36 +03:00
Dmitry Stepanov 8cab60fbbc fixed doc links 2025-05-25 10:52:38 +03:00
Dmitry Stepanov f6ab8edf93 property editor for WidgetMaterial 2025-05-25 10:45:41 +03:00
Dmitry Stepanov b81841e41e use MaterialResource in widgets instead of UntypedResource 2025-05-24 22:51:27 +03:00
Dmitry Stepanov a26f13e332 moved material/shaders to fyrox-material crate 2025-05-24 20:49:03 +03:00
Dmitry Stepanov 4a76a43992 refactored ui renderer to use materials 2025-05-24 19:19:49 +03:00
Dmitry Stepanov 78859fc807 fyrox_widgetData built-in property group 2025-05-24 10:51:22 +03:00
Dmitry Stepanov 65d2e8937b experimental renderer for widgets with custom materials
- rename `shader` to `material` in `fyrox-ui`
2025-05-23 22:41:09 +03:00
Dmitry Stepanov d2a0ba9452 ability to specify custom shaders for widgets
- renderer does not support it yet (should support soon)
2025-05-23 18:51:03 +03:00
Dmitry Stepanov 25c5324a79 ability to copy/paste values in the editor setting's inspector 2025-05-21 19:52:54 +03:00
Dmitry Stepanov 2d1bc37b85 use cheaper check as the outer condition
- speeds up message handling a lot in some cases
2025-05-21 19:52:31 +03:00
Dmitry Stepanov c4be4e2467 context menu handling for various inspectors 2025-05-20 22:19:57 +03:00
Dmitry Stepanov a422b9bc2f UserInterface::has_descendant_or_equal 2025-05-20 21:58:14 +03:00
Dmitry Stepanov 2e9106a3f2 sync the inspector after pasting 2025-05-20 21:57:58 +03:00
Dmitry Stepanov 2d0b9ad167 Inspector::handle_context_menu_simple 2025-05-19 22:42:57 +03:00
Dmitry Stepanov 635531f4a1 check if a property can be cloned/pasted in the inspector 2025-05-18 21:38:43 +03:00
Dmitry Stepanov 3ea23eee8b echo popup messages 2025-05-18 21:38:11 +03:00
Dmitry Stepanov fc631b1e0d fixed clippy warnings + tests compilation + cargo fmt 2025-05-18 12:14:31 +03:00
Dmitry Stepanov d62a4b1558 fixed incorrect impl of try_clone_box of InheritableVariable 2025-05-18 11:56:26 +03:00
Dmitry Stepanov 94e92e473d ability to copy/paste values in inspector
- works incorrectly with inheritable variables, will be fixed later
2025-05-18 11:33:30 +03:00
Dmitry Stepanov f0d6667d14 use Clone::clone(self) instead of self.clone() to improve error msg 2025-05-17 10:35:28 +03:00
Dmitry Stepanov e7b274507a fixed clippy warnings 2025-05-17 10:32:38 +03:00
Dmitry Stepanov dbd5f12c76 fixed project template compilation 2025-05-17 10:26:27 +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 f2a96f3307 fixed impl Clone for PoolRecord and Pool 2025-05-16 22:13:04 +03:00
Dmitry Stepanov 6f5de5ab0b Copy Value + Paste Value options in context menu of Inspector
- `InspectorMessage::PasteValue`
2025-05-14 22:08:10 +03:00
Dmitry Stepanov 9e1ef76ddd collect property paths in the inspector widget 2025-05-14 21:47:42 +03:00
Dmitry Stepanov 6bf93bcd0d use separate struct for args for InspectorContext::from_object func
- improves readability
2025-05-14 19:54:42 +03:00
Dmitry Stepanov c0e7b03c2c removed redundant memory allocations 2025-05-14 19:27:21 +03:00
Dmitry Stepanov 167e7ac906 fixed box selection in the editor 2025-05-13 23:23:29 +03:00
Dmitry Stepanov 1879011ecd improved selection order in the editor
- non-meshes can now be selected only after meshes (using picking loop)
- makes selection more predictable, "invisible" objects don't get in the way
2025-05-13 22:36:18 +03:00
Dmitry Stepanov 21c460afa8 improved selection in the editor
- select hull-less objects using small-sized aabb
- fixed incorrect position of intersection points when selecting a hull-less object
2025-05-12 22:16:41 +03:00
Dmitry Stepanov 1a6234780a include all nodes that produces render data in camera picking in editor
- makes picking much more reliable and works with pretty much any kind of nodes
2025-05-12 20:45:25 +03:00
Dmitry Stepanov e3a70ba7e3 fixed smart placement for move interaction mode 2025-05-12 18:46:04 +03:00
Dmitry Stepanov 2b5baaf344 added is_significant method for commands
- fixes #801
2025-05-11 10:18:25 +03:00
Dmitry Stepanov fb7f4100a7 fixed grid blending issues 2025-05-11 09:55:02 +03:00
Dmitry Stepanov b88bc0f555 fixed axes colors for grid shader 2025-05-11 09:41:33 +03:00
Dmitry Stepanov 5eaf349b2d adjust grid cell size to match grid snapping options 2025-05-10 23:58:49 +03:00
Dmitry Stepanov f910f289eb show grid in 2d mode in the editor 2025-05-10 22:50:46 +03:00
Dmitry Stepanov 3c1194c6a6 support all three major plane orientations (oXZ,oXY,oYZ) in grid shader 2025-05-10 22:28:31 +03:00
Dmitry Stepanov c704da3824 fixed incorrect viewport handling for camera render targets 2025-05-09 22:22:41 +03:00
Dmitry Stepanov 0b8f4e7e94 do not crash if render data couldn't be created, return an error instead 2025-05-08 22:39:21 +03:00
Dmitry Stepanov db59161779 reduced nesting of some modules 2025-05-07 20:59:24 +03:00
Dmitry Stepanov 61ee35bcc3 show/hide camera preview image 2025-05-07 17:31:30 +03:00
Dmitry Stepanov cb1e953b0f UserInterface::send_messages to send multiple messages at once
- reduces boilerplate a bit
2025-05-07 17:30:56 +03:00
Dmitry Stepanov 812c6fa53b filter out editor-specific scene nodes when using camera preview 2025-05-07 17:18:09 +03:00
Dmitry Stepanov 1f085b8e99 remove render data for destroyed cameras 2025-05-06 21:34:27 +03:00
Dmitry Stepanov 2c1760d1f9 use separate render target for camera preview in the editor 2025-05-06 18:08:34 +03:00
Dmitry Stepanov bb4ac9f03d build fix 2025-05-05 22:11:02 +03:00
Dmitry Stepanov e6e5386279 render target for cameras 2025-05-05 22:06:18 +03:00
Dmitry Stepanov 97029d05ff removed field/node counters from ascii format
- reduces merge conflicts
2025-05-04 10:30:57 +03:00
Dmitry Stepanov b987915ce7 moved resourcecreator into a separate mod 2025-05-03 15:05:43 +03:00
Dmitry Stepanov a28ca35766 ability to disable asset convertion when exporting a project 2025-05-03 09:48:46 +03:00
Dmitry Stepanov 13662c0450 fixed warnings 2025-05-02 23:46:52 +03:00
Dmitry Stepanov 4e259e0937 convert ui scenes to binary format when exporting a project 2025-05-02 23:20:30 +03:00
Dmitry Stepanov 55a65f25d0 fixed a bug in show in explorer on windows 2025-05-02 23:06:05 +03:00
Dmitry Stepanov b4ffa5bc03 fixed distance sorting for meshes 2025-05-01 23:04:10 +03:00
Dmitry Stepanov f30cbab5ce fixed render order to be back-to-front for correct blending 2025-05-01 21:51:07 +03:00
Dmitry Stepanov 74f33907df attempt to fix linux ci 2025-04-30 21:43:24 +03:00
Dmitry Stepanov ae2b4e3d62 fixed doc links 2025-04-30 21:41:44 +03:00
Dmitry Stepanov 952468a7a6 convert assets to their most efficient version when exporting a project
- for now it converts ascii scenes to binary format which is much faster to load and takes less space
2025-04-30 21:29:40 +03:00
Dmitry Stepanov 315c886962 collect only supported resources + ignore resources from excluded dirs 2025-04-30 20:55:41 +03:00
Dmitry Stepanov 64c9caf76a fixed contributions guide
- formatting
- build instructions
2025-04-28 23:29:30 +03:00
Dmitry Stepanov 67a1f1d2f3 fixed gltf shader 2025-04-28 23:13:48 +03:00
Dmitry Stepanov ecb88da0ac ResourceLoader::convert impl for native scenes
- allows resaving ascii to binary
2025-04-27 22:49:26 +03:00
Dmitry Stepanov 04013267af ResourceLoader::convert + moved TargetPlatform to core 2025-04-27 11:13:26 +03:00
Dmitry Stepanov d39b1bc949 added ResourceIo::copy_file method 2025-04-27 11:12:03 +03:00
Dmitry Stepanov f284d99c32 isolate platform-specific code of project exporter in respective mods 2025-04-27 09:56:34 +03:00
Dmitry Stepanov a573c80f6e use enum for a visitor version 2025-04-26 17:54:59 +03:00
Dmitry Stepanov f81025a758 use visitor's version number when deserializing vectors 2025-04-26 17:21:31 +03:00
Dmitry Stepanov 574aac33a9 added visitor version number 2025-04-26 16:35:03 +03:00
Dmitry Stepanov a69f8d6b05 moved binary/ascii reader/writer to respective modules 2025-04-25 22:06:26 +03:00
Dmitry Stepanov dcacb603c2 do not save NEED_SYNC flag when serializing an inheriable variable
- reduces amount of changes and thus reduces merge conflicts
2025-04-25 21:34:29 +03:00
Dmitry Stepanov 28a483a53d Merge remote-tracking branch 'origin/master' 2025-04-24 23:21:17 +03:00
Dmitry Stepanov 5af155a896 use stable ids when serializing rc/arc
- prevents ids from changing, thus improves mergeability of the assets
2025-04-24 23:21:15 +03:00
Dmitry Stepanov 9e7b7340d3 fixed potential crash in the editor 2025-04-23 20:39:30 +03:00
Dmitry Stepanov 10f258248b open context menus on rmb-up event instead of rmb-down
- this is the standard behavior in other UI libs
- fixes inability to open some context menus
2025-04-23 20:39:18 +03:00
Dmitry Stepanov a90755230b serialize strings as fields and as-is w/o base64 conversion for asciii 2025-04-22 22:33:07 +03:00
Dmitry Stepanov eb4ecf3572 working vector flattened structure
- all that was needed is a version field, not guessing by the content
2025-04-21 21:49:10 +03:00
Dmitry Stepanov 2abf00b847 rollback vector serialization changes
- new version is unreliable and produces annoying bugs
2025-04-20 23:20:43 +03:00
Dmitry Stepanov d750422acc fixed backward compatibility for verbose vectors 2025-04-20 22:45:50 +03:00
Dmitry Stepanov bb19c879ed save ui scenes in ascii mode 2025-04-20 21:08:33 +03:00
Dmitry Stepanov 3db565e92b fixed distance sorting 2025-04-20 20:03:58 +03:00
Dmitry Stepanov a89db78213 reset editor camera rotation when in 2d mode
- do not allow the camera to be rotated by rmb when 2d mode
2025-04-20 11:05:12 +03:00
Dmitry Stepanov aee202f283 tests for calculate_sorting_index 2025-04-20 10:44:10 +03:00
Dmitry Stepanov 9fd1027233 write empty children section on the same line for ascii mode 2025-04-19 10:39:12 +03:00
Dmitry Stepanov 8936bb4f8a fixed warnings 2025-04-19 10:17:55 +03:00
Dmitry Stepanov b5590145d6 fixed matrix2 deserialization 2025-04-19 10:05:02 +03:00
Dmitry Stepanov a3eefd865a Merge remote-tracking branch 'origin/master' 2025-04-19 09:46:47 +03:00
Dmitry Stepanov a767b2725c removed invalid assertions + code cleanup 2025-04-19 09:46:32 +03:00
Dmitry Stepanov 95611cb6d3 flatten vector structure at serialization stage
- removes redundant `ItemData` node that bloats the final structure
2025-04-18 23:48:48 +03:00
Dmitry Stepanov 2f07d2178c write all attributes in a single line
- improves mergeability
2025-04-18 21:06:59 +03:00
Dmitry Stepanov baa2a546f6 hold mutex locks as short as possible to prevent deadlocks
- yet another (this time more successful) attempt to fix a deadlock when loading a ton of resources at the same time
2025-04-16 23:20:39 +03:00
Dmitry Stepanov 00f9db055e use blocking resource registry updating where possible
- an attempt to fix a random deadlock
2025-04-16 19:54:19 +03:00
Dmitry Stepanov 2f57121401 finished visitor docs 2025-04-15 20:22:28 +03:00
Dmitry Stepanov 5deb1a00df docs for blackboard 2025-04-15 20:08:20 +03:00
Dmitry Stepanov 0c76f22798 docs improvements for Visitor 2025-04-14 23:23:34 +03:00
Dmitry Stepanov 9be5d8d485 use ascii format for engine assets by default
- improves mergeability of the assets
2025-04-13 23:07:38 +03:00