49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Bevy Roadmap
 | 
						|
 | 
						|
Here is the current list of planned features. All items are sorted in approximate priority order, but actual implementation order will vary based on individual interest and/or funding.
 | 
						|
 | 
						|
* UI Framework
 | 
						|
    * Text
 | 
						|
    * Styling
 | 
						|
* Rendering
 | 
						|
    * Textures
 | 
						|
    * Physically based rendering
 | 
						|
    * Skeletal animation
 | 
						|
    * Add runtime type safety to uniform bindings (and maybe compile time)
 | 
						|
    * Inject layout set/bindings into shader source so they don't need to be defined in-shader. Specify set / binding indices in resource providers?
 | 
						|
    * Pull as much logic as possible from wgpu_renderer into a "render orchestrator" struct/trait
 | 
						|
    * Separate original/uncompiled/no_defs PipelineDescriptor from compiled PipelineDescriptor conceptually
 | 
						|
    * Try to make Renderer a resource + system 
 | 
						|
* Docs
 | 
						|
    * Add doc comments to code
 | 
						|
    * Add tutorials
 | 
						|
    * Add feature docs
 | 
						|
    * Add "template" projects
 | 
						|
    * Add ```#![deny(warnings, missing_docs)]``` to ensure future contributions meet style/doc standards
 | 
						|
* ECS
 | 
						|
    * Remove as many references to Resources as possible in favor of resolved resource types
 | 
						|
    * Consider adding Renderer and World to Resources
 | 
						|
* Error Handling
 | 
						|
    * Custom error type?
 | 
						|
    * Remove as many panics / unwraps as possible
 | 
						|
* Input
 | 
						|
    * Keyboard and mouse events
 | 
						|
    * Gamepad events
 | 
						|
* Assets
 | 
						|
    * Load GLTF files
 | 
						|
* Scene
 | 
						|
    * Define scene format
 | 
						|
    * Load scenes from files (likely RON)
 | 
						|
* Plugins
 | 
						|
    * Live plugin reloading
 | 
						|
* Editor
 | 
						|
    * Editor <-> game communication protocol
 | 
						|
    * Build UI using bevy UI framework
 | 
						|
    * Consider supporting embedding parts of the editor directly into games
 | 
						|
* Physics
 | 
						|
    * High level physics data types
 | 
						|
    * Integrate with nphysics
 | 
						|
* Platform Support
 | 
						|
    * Android
 | 
						|
    * iOS
 | 
						|
    * Web |