pub fn compute_for_children(children: &[Arc<dyn Shape>]) -> Bounds {
        let mut computed_bounds = Bounds::default();

        for child in children.iter() {
            let child_bounds = child.bounds();
            Bounds::update_from_bound(&mut computed_bounds, &child_bounds);
        }

        computed_bounds
    }
// A simple optimization is to precompute the bounds on container instantiation. Note that if, hypothetically,
// a children addition API should be added, the parents bounds should be recursively updated.
//
A simple optimization is to precompute the bounds on container instantiation. Note that if, hypothetically,
a children addition API should be added, the parents bounds should be recursively updated.
A simple optimization is to precompute the bounds on container instantiation . Note that if hypothetically a children addition API should be added the parents bounds should be recursively updated .
pub fn compute_for_children(children: &[Arc<dyn Shape>]) -> Bounds {
        let mut computed_bounds = Bounds::default();
        for child in children.iter() {
            let child_bounds = child.bounds();
            Bounds::update_from_bound(&mut computed_bounds, &child_bounds);
        }
        computed_bounds
    }
pub fn compute_for_children ( children : & [ Arc < dyn Shape > ] ) -> Bounds { let mut computed_bounds = Bounds :: default ( ) ; for child in children . iter ( ) { let child_bounds = child . bounds ( ) ; Bounds :: update_from_bound ( & mut computed_bounds , & child_bounds ) ; } computed_bounds }
A simple optimization is to precompute the bounds on container instantiation.
A simple optimization is to precompute the bounds on container instantiation .
children
&[Arc<dyn Shape>]