Created
July 17, 2020 01:39
-
-
Save khionu/6a46519645a4e6dc9506326cbd2596c3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# New Amethyst Structure | |
- `amethyst` - Primary import | |
- No longer wrapper crate | |
- Enough for simple examples | |
- Include ECS, renderer, input, and bare essentials | |
- ECS: raw re-export of Legion | |
- Renderer | |
- Split into 2D and 3D APIs w/ feature flags | |
- Compat between 2D/3D. 2D should be able to write to a mesh that 3D can control, without codependency | |
- Not Rendy based. See viability of `wgpu-rs` in multithreading, otherwise GFX-HAL | |
- Input | |
- Keyboard and Mouse | |
- Feature flag for controller support | |
- Thin adapter for other sources | |
- Probably close to what we have now | |
- Bare essentials | |
- No stages, "helpful" utilities. | |
- Minimal to remove boilerplate for Hello World | |
- `amethyst_window`, `amethyst_error` | |
- `amethyst_ext` - Wrapper crate around "high demand" utilities | |
- Should not wrap larger crates, like `amethyst_assets` | |
- Should wrap smaller, less-opinionated crates like `amethyst_locale` | |
- Should not wrap contextually sensative crates, like `amethyst_networking` and `amethyst_tiles` | |
- Introduce utilties from `amethyst_utils`, `amethyst_core`, and old `amethyst`, possibly new ones | |
- Ie Stages, background executor | |
- Other crates should not depend on other Amethyst crates aside from `amethyst` | |
- Crates to deprecate: | |
- `amethyst_config` - No strong features, limited to RON. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment