chore(): minor tweaks & experiments

This commit is contained in:
kaosat.dev 2024-06-26 14:35:47 +02:00
parent f25829f8cd
commit 75d7f940ae
4 changed files with 119 additions and 7 deletions

View File

@ -119,13 +119,13 @@ fn process_background_shader(
// FIXME: this logic should not depend on if toneMapping or Cameras where added first // FIXME: this logic should not depend on if toneMapping or Cameras where added first
fn process_tonemapping( fn process_tonemapping(
tonemappings: Query<&BlenderToneMapping , Added<BlenderToneMapping>>, tonemappings: Query<(Entity, &BlenderToneMapping) , Added<BlenderToneMapping>>,
cameras: Query<Entity, With<Camera>>, cameras: Query<Entity, With<Camera>>,
mut commands: Commands, mut commands: Commands,
){ ){
for entity in cameras.iter(){ for entity in cameras.iter(){
for tone_mapping in tonemappings.iter(){ for (scene_id, tone_mapping) in tonemappings.iter(){
match tone_mapping { match tone_mapping {
BlenderToneMapping::None => { BlenderToneMapping::None => {
println!("TONEMAPPING NONE"); println!("TONEMAPPING NONE");
@ -140,19 +140,21 @@ fn process_tonemapping(
commands.entity(entity).insert(Tonemapping::BlenderFilmic); commands.entity(entity).insert(Tonemapping::BlenderFilmic);
} }
} }
commands.entity(scene_id).remove::<BlenderToneMapping>();
} }
} }
} }
// FIXME: this logic should not depend on if toneMapping or Cameras where added first // FIXME: this logic should not depend on if toneMapping or Cameras where added first
fn process_colorgrading( fn process_colorgrading(
blender_colorgradings: Query<&BlenderColorGrading , Added<BlenderColorGrading>>, blender_colorgradings: Query<(Entity, &BlenderColorGrading) , Added<BlenderColorGrading>>,
cameras: Query<Entity, With<Camera>>, cameras: Query<Entity, With<Camera>>,
mut commands: Commands, mut commands: Commands,
){ ){
for entity in cameras.iter(){ for entity in cameras.iter(){
for blender_colorgrading in blender_colorgradings.iter(){ for (scene_id, blender_colorgrading) in blender_colorgradings.iter(){
commands.entity(entity).insert( commands.entity(entity).insert(
ColorGrading{ ColorGrading{
global: ColorGradingGlobal{ global: ColorGradingGlobal{
@ -175,6 +177,8 @@ fn process_colorgrading(
..Default::default() ..Default::default()
} }
); );
commands.entity(scene_id).remove::<ColorGrading>();
} }
} }
} }

View File

@ -4019,6 +4019,25 @@
"type": "array", "type": "array",
"typeInfo": "TupleStruct" "typeInfo": "TupleStruct"
}, },
"bevy_example::test_components::HashmapTestStringEnum": {
"additionalProperties": false,
"isComponent": true,
"isResource": false,
"long_name": "bevy_example::test_components::HashmapTestStringEnum",
"properties": {
"inner": {
"type": {
"$ref": "#/$defs/bevy_utils::hashbrown::HashMap<alloc::string::String, bevy_example::test_components::EnumComplex, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>"
}
}
},
"required": [
"inner"
],
"short_name": "HashmapTestStringEnum",
"type": "object",
"typeInfo": "Struct"
},
"bevy_example::test_components::HashmapTestStringFloat": { "bevy_example::test_components::HashmapTestStringFloat": {
"additionalProperties": false, "additionalProperties": false,
"isComponent": true, "isComponent": true,
@ -4038,6 +4057,25 @@
"type": "object", "type": "object",
"typeInfo": "Struct" "typeInfo": "Struct"
}, },
"bevy_example::test_components::HashmapTestStringStruct": {
"additionalProperties": false,
"isComponent": true,
"isResource": false,
"long_name": "bevy_example::test_components::HashmapTestStringStruct",
"properties": {
"inner": {
"type": {
"$ref": "#/$defs/bevy_utils::hashbrown::HashMap<alloc::string::String, bevy_example::test_components::BasicTest, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>"
}
}
},
"required": [
"inner"
],
"short_name": "HashmapTestStringStruct",
"type": "object",
"typeInfo": "Struct"
},
"bevy_example::test_components::NestedTupleStuff": { "bevy_example::test_components::NestedTupleStuff": {
"isComponent": true, "isComponent": true,
"isResource": false, "isResource": false,
@ -11880,6 +11918,42 @@
} }
} }
}, },
"bevy_utils::hashbrown::HashMap<alloc::string::String, bevy_example::test_components::BasicTest, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": {
"isComponent": false,
"isResource": false,
"keyType": {
"type": {
"$ref": "#/$defs/alloc::string::String"
}
},
"long_name": "bevy_utils::hashbrown::HashMap<alloc::string::String, bevy_example::test_components::BasicTest, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>",
"short_name": "HashMap<String, BasicTest, DefaultHashBuilder>",
"type": "object",
"typeInfo": "Map",
"valueType": {
"type": {
"$ref": "#/$defs/bevy_example::test_components::BasicTest"
}
}
},
"bevy_utils::hashbrown::HashMap<alloc::string::String, bevy_example::test_components::EnumComplex, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": {
"isComponent": false,
"isResource": false,
"keyType": {
"type": {
"$ref": "#/$defs/alloc::string::String"
}
},
"long_name": "bevy_utils::hashbrown::HashMap<alloc::string::String, bevy_example::test_components::EnumComplex, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>",
"short_name": "HashMap<String, EnumComplex, DefaultHashBuilder>",
"type": "object",
"typeInfo": "Map",
"valueType": {
"type": {
"$ref": "#/$defs/bevy_example::test_components::EnumComplex"
}
}
},
"bevy_utils::hashbrown::HashMap<alloc::string::String, bevy_utils::hashbrown::HashMap<u32, alloc::vec::Vec<alloc::string::String>, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": { "bevy_utils::hashbrown::HashMap<alloc::string::String, bevy_utils::hashbrown::HashMap<u32, alloc::vec::Vec<alloc::string::String>, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": {
"isComponent": false, "isComponent": false,
"isResource": false, "isResource": false,

View File

@ -1,7 +1,7 @@
use bevy::{gltf::{GltfMaterialExtras, GltfMeshExtras, GltfSceneExtras}, prelude::*}; use bevy::{gltf::{GltfMaterialExtras, GltfMeshExtras, GltfSceneExtras}, prelude::*};
use blenvy::{BlueprintAssets, BlueprintInstanceReady}; use blenvy::{BlueprintAssets, BlueprintInstanceReady};
use crate::BasicTest; use crate::{BasicTest, EnumComplex};
#[derive(Component)] #[derive(Component)]
pub struct HiearchyDebugTag; pub struct HiearchyDebugTag;
@ -13,7 +13,7 @@ pub fn setup_hierarchy_debug(mut commands: Commands, asset_server: Res<AssetServ
"", "",
TextStyle { TextStyle {
color: LinearRgba { red: 1.0, green:0.0, blue: 0.0, alpha: 1.0}.into(), color: LinearRgba { red: 1.0, green:0.0, blue: 0.0, alpha: 1.0}.into(),
font_size: 10., font_size: 20.,
..default() ..default()
}, },
) )
@ -133,12 +133,31 @@ for (id, name, scene_extras, extras, mesh_extras, material_extras) in
} }
} }
fn check_for_component(
foo: Query<(Entity, Option<&Name>, &EnumComplex)>,
mut display: Query<&mut Text, With<HiearchyDebugTag>>,
){
let mut info_lines: Vec<String> = vec![];
for (entiity, name , enum_complex) in foo.iter(){
let data = format!(" We have a 'EnumComplex' component: {:?} (on {:?})", enum_complex, name);
info_lines.push(data);
println!("yoho component");
}
let mut display = display.single_mut();
display.sections[0].value = info_lines.join("\n");
}
pub struct HiearchyDebugPlugin; pub struct HiearchyDebugPlugin;
impl Plugin for HiearchyDebugPlugin { impl Plugin for HiearchyDebugPlugin {
fn build(&self, app: &mut App) { fn build(&self, app: &mut App) {
app app
.add_systems(Startup, setup_hierarchy_debug) .add_systems(Startup, setup_hierarchy_debug)
.add_systems(Update, draw_hierarchy_debug) .add_systems(Update, check_for_component)
//.add_systems(Update, draw_hierarchy_debug)
//.add_systems(Update, check_for_gltf_extras) //.add_systems(Update, check_for_gltf_extras)
; ;

View File

@ -188,6 +188,18 @@ pub struct HashmapTestStringColor {
pub inner: HashMap<String, Color>, pub inner: HashMap<String, Color>,
} }
#[derive(Component, Reflect, Default, Debug)]
#[reflect(Component)]
pub struct HashmapTestStringEnum {
pub inner: HashMap<String, EnumComplex>,
}
#[derive(Component, Reflect, Default, Debug)]
#[reflect(Component)]
pub struct HashmapTestStringStruct {
pub inner: HashMap<String, BasicTest>,
}
#[derive(Component, Reflect, Default, Debug)] #[derive(Component, Reflect, Default, Debug)]
#[reflect(Component)] #[reflect(Component)]
pub struct HashmapTestStringColorFlat(HashMap<String, Color>); pub struct HashmapTestStringColorFlat(HashMap<String, Color>);
@ -259,6 +271,9 @@ impl Plugin for ComponentsTestPlugin {
.register_type::<HashMap<String, Color>>() .register_type::<HashMap<String, Color>>()
.register_type::<HashmapTestStringColor>() .register_type::<HashmapTestStringColor>()
.register_type::<HashmapTestStringColorFlat>() .register_type::<HashmapTestStringColorFlat>()
.register_type::<HashmapTestStringEnum>()
.register_type::<HashmapTestStringStruct>()
.register_type::<ComponentAToFilterOut>() .register_type::<ComponentAToFilterOut>()
.register_type::<ComponentBToFilterOut>() .register_type::<ComponentBToFilterOut>()
.register_type::<ComponentWithFieldsOfIdenticalType>() .register_type::<ComponentWithFieldsOfIdenticalType>()