mirror of
https://github.com/emilk/egui.git
synced 2026-09-01 06:10:06 -04:00
* init work * implement deferred deserialization * many improvements * rename `DataElement` -> `AnyMapElement` * make `data` in `Memory` as public field of type with public interface * make interface more rich * transform most unwraps to proper error handling * make `AnyMap` store by `TypeId`, so now individual type can be counted and reset * improve storing TypeId between different rust versions * rewrite system widgets to use AnyMap * refactor everything * replace `serde_json` -> `ron` * move `any_map` to module * separate `AnyMap` into `AnyMapId` and `serializable::AnyMapId` in order to not require `serde` traits in methods * add `AnyMap` and `serializable::AnyMap` that stores elements just by type, without `Id` * write documentation * change tooltips and color picker to use `Memory::data_temp` * fix bugs and docs * Apply suggestions from code review Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com> * rename `AnyMap` → `TypeMap` * rename `AnyMapId` → `AnyMap`, add generic <Key> to it * rename files `id_map` → `any_map` * move out usages from `serializable` mod * rename `ToDeserialize` → `Serialized` * fix bug with counting * add tests, and... * rename `reset` → `remove` * add function `remove_by_type` * format code * improve code * make identical interface for serialized and simple maps * make serialized maps serialized fully, without features by moving this into `Memory` struct with `#[cfg(feature = "persistence")]` under fields * move `serialized::TypeId` into `AnyMapElement` struct * fix pipeline and add one more test * update docs Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -756,7 +756,9 @@ name = "egui"
|
||||
version = "0.11.0"
|
||||
dependencies = [
|
||||
"epaint",
|
||||
"ron",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
Reference in New Issue
Block a user