refactor(properties): remove detail sections

This commit is contained in:
Hakan Seven committed 2026-08-11 12:49:28 +03:00
1 parent de6f6c933b
commit 70f65270aa
1 file changed
+1 -220
+1 -220
View File
@@ -11,40 +11,6 @@ use crate::t;
/// shows a count-only summary instead. Bulk edits still go through the ribbon.
const MAX_PROP_AGGREGATE: usize = 2_000;
fn material_color_text(color: &acadrust::objects::MaterialColor) -> String {
let rgb = color
.rgb
.map(|value| format!("#{:06X}", value as u32 & 0x00ff_ffff))
.unwrap_or_else(|| "Object".to_string());
format!("{rgb}, factor {:.3}", color.factor)
}
fn material_map_text(map: &acadrust::objects::MaterialMap) -> String {
let source = match map.source {
1 => {
if map.file_name.trim().is_empty() {
"File".to_string()
} else {
map.file_name.clone()
}
}
2 => format!(
"Procedural {:#?}",
map.texture
),
0 => "Scene".to_string(),
value => format!("Source {value}"),
};
format!(
"{source}; blend {:.3}; projection {}; tiling {}; auto {}; transform {:?}",
map.blend_factor,
map.projection,
map.tiling,
map.auto_transform,
map.transform
)
}
fn visual_style_properties_text(style: &acadrust::objects::VisualStyle) -> String {
style
.properties
@@ -392,21 +358,6 @@ impl OpenCADStudio {
let group_names = self.tabs[i].scene.group_names_for_entity(handle);
let mut sections =
dispatch::properties_sectioned(handle, entity, &text_style_names);
sections.insert(
0,
crate::scene::model::object::PropSection {
title: t!("Coordinates").into_owned(),
props: vec![crate::entities::common::ro_prop(
t!("Coordinate system").as_ref(),
"coordinate_system",
self.tabs[i]
.active_ucs
.as_ref()
.map(|ucs| ucs.name.clone())
.unwrap_or_else(|| "WCS".to_string()),
)],
},
);
// Turn the Material row into an editable picker: the source
// options (ByLayer / ByBlock) plus every named material the
@@ -450,161 +401,6 @@ impl OpenCADStudio {
};
}
}
let effective_handle = match common.material_flags {
3 => common.material_handle,
0 => doc
.layers
.get(&common.layer)
.map(|layer| layer.material)
.filter(|handle| handle.is_valid()),
_ => None,
};
if let Some(acadrust::objects::ObjectType::Material(material)) =
effective_handle.and_then(|handle| doc.objects.get(&handle))
{
use crate::entities::common::ro_prop;
sections.push(crate::scene::model::object::PropSection {
title: t!("Material Details").into_owned(),
props: vec![
ro_prop(t!("Name").as_ref(), "mat_name", material.name.clone()),
ro_prop(
t!("Description").as_ref(),
"mat_description",
material.description.clone(),
),
ro_prop(
t!("Ambient").as_ref(),
"mat_ambient",
material_color_text(&material.ambient_color),
),
ro_prop(
t!("Diffuse").as_ref(),
"mat_diffuse",
material_color_text(&material.diffuse_color),
),
ro_prop(
t!("Specular").as_ref(),
"mat_specular",
material_color_text(&material.specular_color),
),
ro_prop(
t!("Gloss").as_ref(),
"mat_gloss",
format!("{:.3}", material.specular_gloss_factor),
),
ro_prop(
t!("Opacity").as_ref(),
"mat_opacity",
format!("{:.3}", material.opacity_percent),
),
ro_prop(
t!("Reflectivity").as_ref(),
"mat_reflectivity",
format!("{:.3}", material.reflectivity),
),
ro_prop(
t!("Translucence").as_ref(),
"mat_translucence",
format!("{:.3}", material.translucence),
),
ro_prop(
t!("Refraction").as_ref(),
"mat_refraction",
format!("{:.3}", material.refraction_index),
),
ro_prop(
t!("Self Illumination").as_ref(),
"mat_self_illumination",
format!("{:.3}", material.self_illumination),
),
ro_prop(
t!("Luminance").as_ref(),
"mat_luminance",
format!(
"{:.3} (mode {})",
material.luminance, material.luminance_mode
),
),
ro_prop(
t!("Diffuse Map").as_ref(),
"mat_diffuse_map",
material_map_text(&material.diffuse_map),
),
ro_prop(
t!("Specular Map").as_ref(),
"mat_specular_map",
material_map_text(&material.specular_map),
),
ro_prop(
t!("Reflection Map").as_ref(),
"mat_reflection_map",
material_map_text(&material.reflection_map),
),
ro_prop(
t!("Opacity Map").as_ref(),
"mat_opacity_map",
material_map_text(&material.opacity_map),
),
ro_prop(
t!("Bump Map").as_ref(),
"mat_bump_map",
material_map_text(&material.bump_map),
),
ro_prop(
t!("Refraction Map").as_ref(),
"mat_refraction_map",
material_map_text(&material.refraction_map),
),
ro_prop(
t!("Normal Map").as_ref(),
"mat_normal_map",
material_map_text(&material.normal_map),
),
ro_prop(
t!("Render Flags").as_ref(),
"mat_render_flags",
format!(
"illumination {}; channels {}; mode {}; two-sided {}",
material.illumination_model,
material.channel_flags,
material.mode,
material.two_sided_material
),
),
ro_prop(
t!("Advanced").as_ref(),
"mat_advanced",
format!(
"normal method {}; strength {:.3}; bump {:.3}; reflect {:.3}; transmit {:.3}; bleed {:.3}",
material.normal_map_method,
material.normal_map_strength,
material.indirect_bump_scale,
material.reflectance_scale,
material.transmittance_scale,
material.color_bleed_scale
),
),
ro_prop(
t!("Indirect Lighting").as_ref(),
"mat_indirect_lighting",
format!(
"global {}; final gather {}",
material.global_illumination,
material.final_gather
),
),
ro_prop(
t!("Source State").as_ref(),
"mat_source_state",
format!(
"advanced {}; anonymous {}",
material.advanced_data_present,
material.is_anonymous
),
),
],
});
}
}
{
@@ -1591,22 +1387,7 @@ impl OpenCADStudio {
.iter()
.map(|(handle, entity)| (*handle, entity))
.collect();
let mut sections = aggregate_sections(&local_refs, &text_style_names);
sections.insert(
0,
crate::scene::model::object::PropSection {
title: t!("Coordinates").into_owned(),
props: vec![crate::entities::common::ro_prop(
t!("Coordinate system").as_ref(),
"coordinate_system",
self.tabs[i]
.active_ucs
.as_ref()
.map(|ucs| ucs.name.clone())
.unwrap_or_else(|| "WCS".to_string()),
)],
},
);
let sections = aggregate_sections(&local_refs, &text_style_names);
ui::PropertiesPanel {
choice_combos: sections
.iter()