bevy/crates
Gino Valente bb968f41bc bevy_scene: Serialize entities to map (#6416)
# Objective

Entities are unique, however, this is not reflected in the scene format. Currently, entities are stored in a list where a user could inadvertently create a duplicate of the same entity. 

## Solution

Switch from the list representation to a map representation for entities.

---

## Changelog

* The `entities` field in the scene format is now a map of entity ID to entity data

## Migration Guide

The scene format now stores its collection of entities in a map rather than a list:

```rust
// OLD
(
  entities: [
    (
      entity: 12,
      components: {
        "bevy_transform::components::transform::Transform": (
          translation: (
            x: 0.0,
            y: 0.0,
            z: 0.0
          ),
          rotation: (0.0, 0.0, 0.0, 1.0),
          scale: (
            x: 1.0,
            y: 1.0,
            z: 1.0
          ),
        ),
      },
    ),
  ],
)

// NEW
(
  entities: {
    12: (
      components: {
        "bevy_transform::components::transform::Transform": (
          translation: (
            x: 0.0,
            y: 0.0,
            z: 0.0
          ),
          rotation: (0.0, 0.0, 0.0, 1.0),
          scale: (
            x: 1.0,
            y: 1.0,
            z: 1.0
          ),
        ),
      },
    ),
  },
)
```
2022-10-31 16:35:18 +00:00
..
bevy_animation add ReflectAsset and ReflectHandle (#5923) 2022-10-28 20:42:33 +00:00
bevy_app Unique plugin (#6411) 2022-10-31 16:12:19 +00:00
bevy_asset Rename Handle::as_weak() to cast_weak() (#5321) 2022-10-28 22:43:14 +00:00
bevy_audio Add a way to toggle AudioSink (#6321) 2022-10-31 15:57:51 +00:00
bevy_core add ReflectAsset and ReflectHandle (#5923) 2022-10-28 20:42:33 +00:00
bevy_core_pipeline Support arbitrary RenderTarget texture formats (#6380) 2022-10-26 23:12:12 +00:00
bevy_derive Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_diagnostic Add Exponential Moving Average into diagnostics (#4992) 2022-10-24 13:46:37 +00:00
bevy_dylib Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_dynamic_plugin Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_ecs Remove outdated uses of single-tuple bundles (#6406) 2022-10-29 18:15:28 +00:00
bevy_ecs_compile_fail_tests fix: specify required trybuild patch version (#6333) 2022-10-25 10:21:31 +00:00
bevy_encase_derive Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_gilrs feat: add GamepadInfo, expose gamepad names (#6342) 2022-10-24 14:33:50 +00:00
bevy_gltf fix nightly clippy warnings (#6395) 2022-10-28 21:03:01 +00:00
bevy_hierarchy Add methods to Query<&Children> and Query<&Parent> to iterate over descendants and ancestors (#6185) 2022-10-31 15:57:50 +00:00
bevy_input Derive Reflect + FromReflect for input types (#6232) 2022-10-26 19:52:20 +00:00
bevy_internal Unique plugin (#6411) 2022-10-31 16:12:19 +00:00
bevy_log Update tracing-chrome to 0.6.0 (#6398) 2022-10-28 21:51:38 +00:00
bevy_macro_utils fix nightly clippy warnings (#6395) 2022-10-28 21:03:01 +00:00
bevy_math add serialize feature to bevy_transform (#6379) 2022-10-31 16:12:15 +00:00
bevy_mikktspace Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_pbr Freeing memory held by visible entities vector (#3009) 2022-10-31 15:36:08 +00:00
bevy_ptr Bump Version after Release (#5576) 2022-08-05 02:03:05 +00:00
bevy_reflect add serialize feature to bevy_transform (#6379) 2022-10-31 16:12:15 +00:00
bevy_render Add FromReflect for Visibility (#6410) 2022-10-29 22:32:47 +00:00
bevy_scene bevy_scene: Serialize entities to map (#6416) 2022-10-31 16:35:18 +00:00
bevy_sprite Remove outdated uses of single-tuple bundles (#6406) 2022-10-29 18:15:28 +00:00
bevy_tasks fix nightly clippy warnings (#6395) 2022-10-28 21:03:01 +00:00
bevy_text Rename Handle::as_weak() to cast_weak() (#5321) 2022-10-28 22:43:14 +00:00
bevy_time Add FromReflect for Timer (#6422) 2022-10-30 16:02:31 +00:00
bevy_transform add serialize feature to bevy_transform (#6379) 2022-10-31 16:12:15 +00:00
bevy_ui Remove outdated uses of single-tuple bundles (#6406) 2022-10-29 18:15:28 +00:00
bevy_utils Remove Sync bound from Local (#5483) 2022-09-12 04:15:55 +00:00
bevy_window Removed web-sys from bevy_window, never used (#6414) 2022-10-30 00:00:47 +00:00
bevy_winit do not set cursor grab on window creation if not asked for (#6381) 2022-10-31 16:12:18 +00:00