| 2319 | let mut out = Vec::with_capacity(rows.len()); |
| 2320 | for (idx, row) in rows.iter().enumerate() { |
| 2321 | while stack |
| 2322 | .last() |
| 2323 | .is_some_and(|parent| rows[*parent].depth >= row.depth) |
| 2324 | { |
| 2325 | stack.pop(); |
| 2326 | } |
| 2327 | out.push(stack.last().copied()); |
| 2328 | stack.push(idx); |
| 2329 | } |
| 2330 | out |
| 2331 | } |
| 2332 | |
| 2333 | fn inspector_row_base_heights(rows: &[InspectorValueRow]) -> Vec<f32> { |
| 2334 | rows.iter() |
| 2335 | .map(|row| { |
| 2336 | if row.kind == "BitMask" { |
| 2337 | 0.085 |
| 2338 | } else if let Some((rows, _)) = matrix_kind_shape(&row.kind) { |