| 2629 | }; |
| 2630 | let doc = cached_scene_doc_shared(&state.doc_text); |
| 2631 | let Some(node) = cached_scene_node(&state.doc_text, key) else { |
| 2632 | return Vec::new(); |
| 2633 | }; |
| 2634 | let rows: Arc<[InspectorValueRow]> = if state.inspector_picker_kind == "value_enum" { |
| 2635 | inspector_visible_rows_for_node(state, &node) |
| 2636 | } else { |
| 2637 | inspector_script_var_rows_for_node(state, &node).into() |
| 2638 | }; |
| 2639 | let Some(row) = rows.get(row_idx).cloned() else { |
| 2640 | return Vec::new(); |
| 2641 | }; |
| 2642 | let filter = state.inspector_picker_filter.to_ascii_lowercase(); |
| 2643 | row.enum_options |
| 2644 | .into_iter() |
| 2645 | .filter(|value| filter.is_empty() || value.to_ascii_lowercase().contains(&filter)) |
| 2646 | .map(|value| InspectorPickerEntry { |
| 2647 | label: value.clone(), |