(state: &EditorState)
| 2094 | node_type: perro_scene::NodeType, |
| 2095 | ) -> Vec<(SceneFieldName, SceneValue)> { |
| 2096 | perro_scene::scene_node_fields(node_type) |
| 2097 | .into_iter() |
| 2098 | .filter(inspector_generic_scene_field) |
| 2099 | .filter_map(|field| { |
| 2100 | let value = field |
| 2101 | .default |
| 2102 | .or_else(|| perro_scene::default_scene_field_value_by_name(node_type, field.name)) |
| 2103 | .or_else(|| Some(field.ty.default_value()))?; |
| 2104 | Some(( |
| 2105 | SceneFieldName::from_name(field.name.to_string()), |
| 2106 | coerce_scene_value_to_kind(value, &node_field_type_label(&field.ty)), |
| 2107 | )) |
| 2108 | }) |
| 2109 | .collect() |
| 2110 | } |
| 2111 | |
| 2112 | fn scene_node_transform_fields(node_type: perro_scene::NodeType) -> Vec<&'static str> { |
| 2113 | perro_scene::scene_node_fields(node_type) |
| 2114 | .into_iter() |
| 2115 | .filter_map(|field| match field.name { |
| 2116 | "position" | "rotation" | "scale" => Some(field.name), |
| 2117 | _ => None, |
| 2118 | }) |
| 2119 | .collect() |
| 2120 | } |
| 2121 | |
| 2122 | pub fn inspector_generic_scene_field(field: &perro_scene::SceneNodeField) -> bool { |
| 2123 | let _ = field; |
| 2124 | true |
| 2125 | } |
| 2126 | |
| 2127 | pub fn inspector_value_fields_for_node( |
no test coverage detected