mirror of
https://github.com/emilk/egui.git
synced 2026-06-27 07:03:14 -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>
67 KiB
67 KiB