 7cb4d3cb43
			
		
	
	
		7cb4d3cb43
		
	
	
	
	
		
			
			# Objective - Unify buffer APIs - Also see #4272 ## Solution - Replace vendored `crevice` with `encase` --- ## Changelog Changed `StorageBuffer` Added `DynamicStorageBuffer` Replaced `UniformVec` with `UniformBuffer` Replaced `DynamicUniformVec` with `DynamicUniformBuffer` ## Migration Guide ### `StorageBuffer` removed `set_body()`, `values()`, `values_mut()`, `clear()`, `push()`, `append()` added `set()`, `get()`, `get_mut()` ### `UniformVec` -> `UniformBuffer` renamed `uniform_buffer()` to `buffer()` removed `len()`, `is_empty()`, `capacity()`, `push()`, `reserve()`, `clear()`, `values()` added `set()`, `get()` ### `DynamicUniformVec` -> `DynamicUniformBuffer` renamed `uniform_buffer()` to `buffer()` removed `capacity()`, `reserve()` Co-authored-by: Carter Anderson <mcanders1@gmail.com>
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use bevy_macro_utils::BevyManifest;
 | |
| use encase_derive_impl::{implement, syn};
 | |
| 
 | |
| const BEVY: &str = "bevy";
 | |
| const BEVY_RENDER: &str = "bevy_render";
 | |
| const ENCASE: &str = "encase";
 | |
| 
 | |
| fn bevy_encase_path() -> syn::Path {
 | |
|     let bevy_manifest = BevyManifest::default();
 | |
|     bevy_manifest
 | |
|         .maybe_get_path(BEVY)
 | |
|         .map(|bevy_path| {
 | |
|             let mut segments = bevy_path.segments;
 | |
|             segments.push(BevyManifest::parse_str("render"));
 | |
|             syn::Path {
 | |
|                 leading_colon: None,
 | |
|                 segments,
 | |
|             }
 | |
|         })
 | |
|         .or_else(|| bevy_manifest.maybe_get_path(BEVY_RENDER))
 | |
|         .map(|bevy_render_path| {
 | |
|             let mut segments = bevy_render_path.segments;
 | |
|             segments.push(BevyManifest::parse_str("render_resource"));
 | |
|             syn::Path {
 | |
|                 leading_colon: None,
 | |
|                 segments,
 | |
|             }
 | |
|         })
 | |
|         .map(|path| {
 | |
|             let mut segments = path.segments;
 | |
|             segments.push(BevyManifest::parse_str(ENCASE));
 | |
|             syn::Path {
 | |
|                 leading_colon: None,
 | |
|                 segments,
 | |
|             }
 | |
|         })
 | |
|         .unwrap_or_else(|| bevy_manifest.get_path(ENCASE))
 | |
| }
 | |
| 
 | |
| implement!(bevy_encase_path());
 |